labelme标注分割数据转换成coco格式

一、labelme下载及安装

我在这篇文章详细记录了labelme的下载和安装过程:https://blog.csdn.net/qq_45828295/article/details/126451235
labelme标注分割数据转换成coco格式_第1张图片

1.创建两个文件夹和一个label文件

(1)img_data:存放需要标注的图片
(2)data_annotation:存放标注好的json文件
(3)label.txt:标签(格式如下)
__ignore__和__background__是必须有的,然后放自己要的标签
labelme标注分割数据转换成coco格式_第2张图片

2.打开labelme进行标注

(1)修改保存路径:file-change output dir,然后会自动保存,不需要每张保存
(2)可以取消勾选file-save with image data,原图片不会和标注过的数据保存在一起
(3)标注
labelme标注分割数据转换成coco格式_第3张图片

二、数据转coco格式

(一).将单个json文件转换成coco格式

1.找到labelme的文件夹下的json_to_dataset.py文件

labelme标注分割数据转换成coco格式_第4张图片

2.修改输入输出路径:

labelme标注分割数据转换成coco格式_第5张图片

3.直接运行

输出结果如下:
labelme标注分割数据转换成coco格式_第6张图片

(二)批量转换多个json文件为COCO格式

1.下载labelme2coco

链接: https://pan.baidu.com/s/1YvPzDoHQMPr4s15VvRz_9g 提取码: t79e
解压后:
labelme标注分割数据转换成coco格式_第7张图片

2.安装labelme2coco,执行下列命令
python setup.py install

安装后:
labelme标注分割数据转换成coco格式_第8张图片

3.执行批量转换代码

(1)转换的python文件见下面的链接:
链接: https://pan.baidu.com/s/1GJDozTvxuwjCYnB-vv8ujw 提取码: xxpc
labelme标注分割数据转换成coco格式_第9张图片
(2)修改输入输出路径
labelme标注分割数据转换成coco格式_第10张图片
然后运行就可以了。

(3)这里有一个提醒,好像是需要将labelme标注的标签文件和图片放在一个文件里
labelme标注分割数据转换成coco格式_第11张图片

4.查看转换的标签

运行以下程序
(后面附pycocotools的下载方法,直接用pip下载不了)

import os

from pycocotools.coco import COCO
from skimage import io
from matplotlib import pyplot as plt

json_file = r'D:\Tsui\RAS\labelme2coco-master\new_annatation\train_coco_format.json' # 输入文件路径
dataset_dir = r''
coco = COCO(json_file)
catIds = coco.getCatIds(catNms=['head']) # 标注的图片的不同类型别,超过一类,用逗号隔开
imgIds = coco.getImgIds(catIds=catIds ) # 图片id,许多值
for i in range(len(imgIds)):
    img = coco.loadImgs(imgIds[i])[0]
    I = io.imread(dataset_dir + img['file_name'])
    plt.axis('off')
    plt.imshow(I) #绘制图像,显示交给plt.show()处理
    annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)
    anns = coco.loadAnns(annIds)
    coco.showAnns(anns)
    plt.show() #显示图像

labelme标注分割数据转换成coco格式_第12张图片

5.附:解决“No module named ‘pycocotools’”

(1)下载whl文件
下载目录在虚拟环境包下(下载的路径并不固定,只要执行下一步cd到该目录就好),如我的环境叫labelme,我就下在:D:\anaconda_environment\envs\labelme
(2)下载链接:
https://pypi.tuna.tsinghua.edu.cn/simple/pycocotools-windows/
labelme标注分割数据转换成coco格式_第13张图片
cp36,cp37,cp38分别代表python3.6,3.7,3.8
我用的anaconda虚拟环境,查看python版本执行python -V

(3)然后执行pip install (刚才的文件名称,如:)pycocotools_windows-2.0.0.2-cp38-cp38-win_amd64.whl

你可能感兴趣的:(python)