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可视化操作界面,
  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但没关系可忽略,只是报错不能多张转化,会一张一张转的(我以一个例子为例)
  10. 回到anaconda下的labelme环境,切换目录至D:\images
  11. 输入test.bat回车即可,随即就会将一个个json文件,创建同名图片_json文件夹,里面生成4个文件,分别是原图img.png;红(标注区域)黑(背景)色图片label.png;label_names.txt(存放图片含有的类别标签列表);label_viz.png(带标注标签)

 

 大功告成!

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐