使用labelme制作自己的数据集
# python3 conda create --name=labelme python=3.6 source activate labelme # conda install -c conda-forge pyside2 # conda install pyqt pip install pyqt5 # pyqt5 can be installed via pip on python3 pip install labelme
这是在anaconda下安装labelme
安装好后在cmd输入activate labelme激活labelme环境
在输入labelme运行程序
通过open读取文件,选择create polygons对想要的区域进行编辑
随后会生成如下文件:
找到labelme安装路径下的script,找到labelme_json_to_dataset.exe所在目录
将所有.json文件复制粘贴到这下面,并且在此目录下运行cmd,激活labelme,输入指令
1 | python labelme_json_to_dataset.exe 图片文件.json |
即可获得一个图片文件.json的文件夹
对于每个json文件生成一个dataset(包含 img.png,info.yaml,label.png,label_names.txt, label_viz.png):
其中json文件夹下的label.png为16位格式,要转化为8位 vs2015+opencv:
#include <stdio.h> #include <iostream> using namespace std; using namespace cv; int main(void) { char buff1[100]; char buff2[100]; for (int i = 1; i<51; i++) { sprintf_s(buff1, "C:/mypic/labelme_json/%d_json/label.png", i); sprintf_s(buff2, "C:/mypic/cv2_mask/%d.png", i); //sprintf(buff1,"/media/lj/FA68-10A6/test_drug/disp/disp_%d.png",i); //sprintf(buff2,"/media/lj/FA68-10A6/test_drug/disp_8/disp_%d.png",i); Mat src; //Mat dst; src = imread(buff1, CV_LOAD_IMAGE_UNCHANGED); Mat ff = Mat::zeros(src.rows, src.cols, CV_8UC1); for (int k = 0; k<src.rows; k++) { for (int kk = 0; kk<src.cols; kk++) { int n = src.at<ushort>(k, kk); ff.at<uchar>(k, kk) = n; } } //src.copyTo(dst); //imshow("haha",ff*100); //waitKey(0); imwrite(buff2, ff); } return 0; }
不过我使用是这段代码时一直出错,后来有看到说新版的labelme直接生产8位的图片,只是表现为彩色而已
打开图片的详细信息,确定为8位
分类:
深度学习可还行
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!