一个简单高效labelme-json-to-dataset方法

labelme是一个经典标注工具,往往我们使用标注完图片保存后会得到一个个Json文件,但json文件不能直接作为数据集使用,我们还需要将它转为带标签语义的Png格式图片。

网上看了很多教程,有看过更换labelme环境中Anaconda\envs\labelme\Lib\site-packages\labelme\cli目录下的json_to_dataset.py内容的,但是我没有成功过。

今天看到一个教程是使用一段代码的批处理文件,可以直接转,他的本质也是调用json_to_dataset.py但是不需要改代码,非常方便,与原文参考有一些变换,经过测试。下面详细交代方法。


  1. 准备需要标注的图片(图片最好按规则重命名),将图片放入一个文件夹,例如images,存放目录为D:\images
  2. 打开Anaconda Prompt 输入conda activate labelme(假设已经创建好labelme环境,安装好labelme),激活labelme环境
  3. 输入labelme自动打开labelme可视化操作界面,一个简单高效labelme-json-to-dataset方法_第1张图片
  4. 选择Open Dir,打开imges目录,会将目录下的图片列表加载到Flie List,就可以更方便通过Next Image和Prev Image进行图片切换,File List处的滚动条也会根据进度条走动,这样更不容易遗漏图片
  5. 显示图片后选择Create Polygons进行多边形标注,这里右击可以选择其他方式,根据图片中需要标注轮廓进行框选拟合,拟合完成后形成闭环就会弹出标签标注框,可以自己输入类别,然后进行确定,确定完polygon labels处会显示使用的标签。然后点击Save,会将标注好的图片自动保存为同名的json文件,保存在images目录下
  6. 按第五步完成所有图片标注
  7. 在images目录下创建一个test.txt文本文件,打卡文本,复制输入以下代码
  8. @echo off
    for %%i in (*.json)  do labelme_json_to_dataset %%i
    pause
    

  9. 然后保存,重命名test.txt为test.bat文件,成为批处理文件,它可能会报错warnings但没关系可忽略,只是报错不能多张转化,会一张一张转的(我以一个例子为例)一个简单高效labelme-json-to-dataset方法_第2张图片
  10. 回到anaconda下的labelme环境,切换目录至D:\images
  11. 输入test.bat回车即可,随即就会将一个个json文件,创建同名图片_json文件夹,里面生成4个文件,分别是原图img.png;红(标注区域)黑(背景)色图片label.png;label_names.txt(存放图片含有的类别标签列表);label_viz.png(带标注标签)

 一个简单高效labelme-json-to-dataset方法_第3张图片

 大功告成!

参考资料:labelme批量制作数据集教程_ZhuiMengLQG的博客-CSDN博客

你可能感兴趣的:(学习教程,经验分享)