labelme制作自己的数据集

一、labelme安装

labelme是一款方便快捷的标注数据集的方法,源自于MIT,首先看一下它的安装过程。

这里是基于anaconda进行安装,所以要先在电脑上装上anaconda,关于anaconda的安装问题,请参考这篇博客     anaconda安装

这篇博客是讲述如何在anaconda环境下安装tensorflow的。

 

安装完anaconda后,就可以安装labelme了,安装labelme的过程请参考这篇博客       labelme安装

 

二、labelme使用

首先,打开labelme.exe如下图所示:

labelme制作自己的数据集_第1张图片

左上角可以选择打开一个文件或者直接打开一个文件夹。导入一个文件后,就可以开始进行标记。点击 Create Polygons,就可直接在图片上选择边缘控制点。如下图所示

labelme制作自己的数据集_第2张图片

这时,很有可能手抖选择的点不是很满意,这是就要去除选择的点。有两种办法可以用:1、直接右键,选择Undo last point即可

第二种方法是先不要管这一个点,待选择完成后用edit polygons进行编辑修改。

完成选择后,默认是首尾点要相连,然后将这个区域命名即可完成标记。

这是,点左侧的保存即可得到关于这个图片标记的json文件,要得到数据集还要进一步的处理。

 

三、将生成的json文件转成数据集

用labelme标记好后,每个图片生成的是一个json文件,我们需要从其中得到对应的标记图片。

其实,在安装labelme的时候,在对应的   ……\Lib\site-packages\labelme\cli  目录下(……代表的是   ……\scripts\labelme.exe中的……),存在一个json_to_dataset.py文件。但是,这个文件只是给出了类似于接口的一个东西,说明这个文件可以实现这个功能,但是具体的实现代码要自己去写。将自己写的代码放入这个文件,就可以在终端运行这个功能

 

  具体的实现过程请参考这篇博客  labelme的json转dataset

 

 

四、将得到的label处理成二值化灰度图

上面得到的label.png就是生成的标签图,但是,是用0和1标注的,所以无法辨别,下面简单用一个matlab程序得到二值化的灰度标签图

程序如下:

dir = 'C:\Users\asus1\Desktop\myplant\Labell\';
dir_ = '_json\label.png';
for i = 0:30
    Dir = [dir,num2str(i),dir_];   %得到每一个label.png的路径
    ff = imread(Dir);
    ff(find(ff==0))=255;
    ff(find(ff==1))=0;
    imwrite(uint8(ff),['C:\Users\asus1\Desktop\myplant\label\',num2str(i),'.jpg']);  %保存输出
end

五、自制的数据集

自己制作的植物分割的数据集,因为用的是u-net分割网络,而且时间有限,只制作了30张图片。

需要请下载       植物分割微型数据集

 

你可能感兴趣的:(深度学习,Matlab)