使用labelme工具labelme_json_to_dat批量转换json文件,IndexError: index 3 is out of bounds for axis 0 with size 3

批量转换的代码参考博客 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)

 


版权声明:本文为qq_36625195原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。