先贴源代码的地址,感谢大佬的贡献。
cgvict/roLabelImg: Label Rotated Rect On Images for training (github.com)
最近使用roLabelImg遇到两个问题:
无法修改框线颜色/填充颜色;
不同类别标签的填充颜色相同且在Qt界面中无法直接修改。
下面提供解决方案。
无法修改框线颜色/填充颜色
在qt界面的菜单栏中修改颜色时,选取Box Line Color和Box Line Color时会卡顿几秒钟,然后闪退,随后报错:
Traceback (most recent call last):
File "c:/Users/glanc/Desktop/roLabelImg/roLabelImg.py", line 1225, in chooseColor1
color = self.colorDialog.getColor(self.lineColor, u'Choose line color',
AttributeError: 'MainWindow' object has no attribute 'colorDialog'
初步认为是环境问题,解决步骤如下:
1.1. 环境问题排查
旋转标注工具roLabelImg使用教程_SeanQikYibo的博客-CSDN博客_rolabelimg
使用前看的上边这篇教程,我之前使用labelme的时候,创建了python3.7的版本,然后当时从GitHub下载后我就直接从“3、使用roLabelImg”开始往后做了,LabelImg可以直接使用,就觉得没有问题。
但是再看教程发现漏掉了一步,因为之前用的是Labelme并不是LabelImg,没有安装lxml,于是重新安装:
pip install lxml
安装后的运行提示变了,从:
running with cElementTree on Python 2.5+
变为了:
running with lxml.etree
1.2. 导入包的路径问题
环境问题解决后还是无法修改颜色。检查代码的时候发现roLabelImg.py有很多报错,很奇怪,明明lib.py和其他几个包在同一个文件夹中,但就是无法正确导入其他的包。
于是只能在前边添加上级路径,修改后没有波浪线了,可以正确导入了。
1.3. 修改原作者的注释
路径修改后,突然发现第37行ColorDialog灰了,调用出了问题。
还是在roLabelImg.py文件中,搜索colorDialog,跳转到对应的位置:
我的妈,怎么给注释掉了,抓紧取消注释:
再次运行,终于可以正常换颜色了!这作者也太坑了!
不同类别标签的填充颜色相同且在Qt界面中无法直接修改
解决了无法修改颜色的问题后,发现这里只能修改全部类型标签的颜色,并无法实现针对不同标签修改不同的颜色。如下图所示,定义为两种目标,但所有的颜色是相同的,初步认为是没有定义不同label的颜色定义,尝试在源码中寻找。
解决无果,换用LabelImg2,效果如图:
GitHub - zuoqing1988/labelImg2: labelImg2 with rotated box and extra label support
虚拟环境和操作方式一样,替换成本和学习成本为零,推荐!
修改默认路径
图片路径:
标签路径: