批量转换的代码参考博客 https://blog.csdn.net/xjtdw/article/details/94741984
遇到的问题一:没有utils.draw文件
解决办法:安装合适的版本
pip install labelme==3.3.1
遇到的问题二:NAME_LABEL_MAP包括背景在内我放了4种类别
IndexError: index 3 is out of bounds for axis 0 with size 3
可以参考的解决办法1:
将utils.shape.py文件约49行,labelme_shapes_to_label函数中的label_name_to_value改为和NAME_LABEL_MAP一样的值。
我个人揣测错误原因是这边初始时是只有背景一个值的,所以程序在绘图时找不到对应的值。
修改之后,程序运行会显示警告
WARNING:labelme:labelme_shapes_to_label is deprecated, so please use shapes_to_label.
但是我看了一下生成的gt图片,结果是正确的
可以参考的解决办法2:
将约56行处的
lbl, lbl_names = utils.shape.labelme_shapes_to_label(img.shape, data['shapes'])
替换为
lbl_names = NAME_LABEL_MAP
lbl = utils.shape.shapes_to_label(img.shape, data['shapes'], NAME_LABEL_MAP)