roLabelImg无法修改框线颜色和填充颜色以及修改不同标签的颜色-roLabelImg与lebalimg2使用对比

先贴源代码的地址,感谢大佬的贡献。

cgvict/roLabelImg: Label Rotated Rect On Images for training (github.com)

最近使用roLabelImg遇到两个问题:

  1. 无法修改框线颜色/填充颜色;

  1. 不同类别标签的填充颜色相同且在Qt界面中无法直接修改。

下面提供解决方案。


  1. 无法修改框线颜色/填充颜色

在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,跳转到对应的位置:

我的妈,怎么给注释掉了,抓紧取消注释:

再次运行,终于可以正常换颜色了!这作者也太坑了!

  1. 不同类别标签的填充颜色相同且在Qt界面中无法直接修改

解决了无法修改颜色的问题后,发现这里只能修改全部类型标签的颜色,并无法实现针对不同标签修改不同的颜色。如下图所示,定义为两种目标,但所有的颜色是相同的,初步认为是没有定义不同label的颜色定义,尝试在源码中寻找。

解决无果,换用LabelImg2,效果如图:

GitHub - zuoqing1988/labelImg2: labelImg2 with rotated box and extra label support

虚拟环境和操作方式一样,替换成本和学习成本为零,推荐!

  1. 修改默认路径

图片路径:

标签路径:

猜你喜欢

转载自blog.csdn.net/weixin_41467446/article/details/128949993