参考博客:https://blog.csdn.net/zong596568821xp/article/details/83375227
该博客截图:
ljx
ljx
参考文档(应该是官方文档):
https://codechina.csdn.net/mirrors/wkentaro/labelme?utm_source=csdn_github_accelerator

文档截图:
ljx

总结:

  1. 打开anaconda prompt,依次输入如下命令。(我的base环境是python3.6.5)
conda create --name=labelme python=3.6

这里的python=x.x应该是根据自己的来。但是官方文档写的是:
ljx
可能是python2 的就写2.7,python3 的就写3.6。这一步就是在D:\Anaconda3\envs(这个是我的envs路径)的文件夹下新建了一个环境。在anaconda navigator里也可以看到。
ljx
我的截图:
ljx

  1. 然后我们激活这个环境:
conda activate labelme

我的截图:
ljx

  1. 开始在这个环境下安装labelme
    代码:pip install labelme
    但是我在输入这行的时候报错:
    ljx
    于是我换了国内的源:
pip install labelme -i https://pypi.doubanio.com/simple

ljx
安装成功!
ljx
参考链接:https://blog.csdn.net/qq_15969343/article/details/79840517

想要打开labelme使用:

参考如下:
ljx

  1. 打开anaconda prompt,输入下面代码激活环境。
activate labelme
  1. 输入下面代码打开labelme。
labelme

ljx

  1. 出现了labelme的图形界面。
    ljx

  2. 选择要标注的图片
    ljx

  3. 圈出标注对象,命名规则:一幅图像中如果有多个person、dog,命名规则为person1、person2…… dog1、dog2……。因为labelme生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个whn的ndarray,其中n为该图片中实例的个数。(如果是做语义分割,则没必要如此区分)
    ljx
    点击create Polygons开始标注,ctrl+z可以撤回标注。

  4. 标注完成之后保存,会存为一个.json文件。
    ljx
    打开.json文件就是这个样子。
    ljx

  5. 该json文件需要转换为训练程序需要的Mask数据,重新开一个anaconda prompt窗口,进入labelme的环境,输入命令。

labelme_json_to_dataset 文件所在目录.json

ljx

生成了一个文件夹,里面有四个文件:
ljx
但是正常来说应该有五个文件,其中 label.png 和 info.yaml 是我们需要用到的:
ljx
遂查找原因:

参考链接:https://blog.csdn.net/winter616/article/details/104426111/

找到json_to_dataset.py文件:
我的路径是:D:\Anaconda3\envs\labelme\Lib\site-packages\labelme\cli\json_to_dataset.py

打开该文件,发现文件末尾处缺失了生成info.yaml的声明:
ljx
本来应该是,这样的:
ljx
所以,把缺失的代码粘贴到相同位置:

#开头引入
    import yaml
#后部分加上生成".yaml"文件的部分  一定注意位置
    logger.warning('info.yaml is being replaced by label_names.txt')
    info = dict(label_names=label_names)
    with open(osp.join(out_dir, 'info.yaml'), 'w') as f:
        yaml.safe_dump(info, f, default_flow_style=False)

ljx
ljx

然后再次运行命令labelme_json_to_dataset 文件路径.json
ljx
成功!
ljx

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐