这是一篇小众的博客,大部分小伙伴可能使用不到,但是对需要的小伙伴绝对是一剂良药!希望对有需要的小伙伴有用!
labelme 虽然主要用于数据的标注,但是标注完的数据集在检查的时候,检查标注框对应的标签是否正确,此工作随不常用,但是用到时却十分不方便,每张图片都需要一个一个框的点击,然后查看对应的标签是否正确,十分耗时耗力。
在此,博主在labelme的基础上,将对应的标签一并显示出来,此举使得不再需要一一点击查看,而是直接扫描一眼即可,十分方便,至少可以提高 10倍
修改好的代码以上传至 viatorsun.blog.csdn.net ,以防万一,建议小伙伴只将其中的 app.py 和 widgets.canvas.py 两个文件替换,不建议替换 __main__.py
共需要修改两个文件,具体操作如下:
1、app.py
在 def loadFile(self, filename=None): 函数中,大概1533行代码处添加 以下两行代码
脚本导入 PyQt5的几个包from PyQt5.QtGui import QPainter,QFont,QColor ,在def __init__(self, *args, **kwargs): 中添加 属性 self._shapes = [] 用于记录标注信息,最后在 def paintEvent(self, event): 添加如下信息
至此即可
问题答疑
项目相对简单,可能存在潜藏Bug,还望见谅!!!
- 标签并非实时显示:而是只在文件打开首次读取对应数据,从而显示。现标数据需要保存好 JSON文件后,才能显示,即可通过【Next Image/Prev Image】操作显示
- 按照上述操作,可能存在显示的标签会被 标注框覆盖的情况,在此,可以将 绘制的代码移至 p.end() 前面,这样就可以将对应的 label 置顶显示了
- 由于数据集图片不同,因此绘笔的颜色可能对比度不强,因此如果出现标签不是特别明显的小伙伴,可以自行修改绘笔的颜色 p.setFont(QColor( , , )) 即可



