# 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,输入指令
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[];
char buff2[];
for (int i = ; i<; 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 = ; k<src.rows; k++) {
for (int kk = ; 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 ;
}
不过我使用是这段代码时一直出错,后来有看到说新版的labelme直接生产8位的图片,只是表现为彩色而已
打开图片的详细信息,确定为8位