当前位置:网站首页>「硬核」labelme 图片中显示标签
「硬核」labelme 图片中显示标签
2022-07-29 17:14:00 【ViatorSun】

这是一篇小众的博客,大部分小伙伴可能使用不到,但是对需要的小伙伴绝对是一剂良药!希望对有需要的小伙伴有用!
labelme 虽然主要用于数据的标注,但是标注完的数据集在检查的时候,检查标注框对应的标签是否正确,此工作随不常用,但是用到时却十分不方便,每张图片都需要一个一个框的点击,然后查看对应的标签是否正确,十分耗时耗力。
在此,博主在labelme的基础上,将对应的标签一并显示出来,此举使得不再需要一一点击查看,而是直接扫描一眼即可,十分方便,至少可以提高 10倍
修改好的代码以上传至 viatorsun.blog.csdn.net
以防万一,建议 小伙伴只将其中的 app.py 、widgets/canvas.py 、widgets/label_dialog.py 文件替换,不建议替换 __main__.py
共需要修改两个文件,具体操作如下:
1、app.py
在 def loadFile(self, filename=None): 函数中,大概1533行代码处添加 以下两行代码
2、widgets/canvas.py
脚本导入 PyQt5的几个包from PyQt5.QtGui import QPainter,QFont,QColor ,在def __init__(self, *args, **kwargs): 中添加 属性 self._shapes = [] 用于记录标注信息,最后在 def paintEvent(self, event): 添加如下信息
3、新增加标注情况的显示

4、修改 Edit label 对话框尺寸
在widgets/label_dialog.py 文件中,48行 [super(LabelDialog, self).__init__(parent)] 之后新增以下语句即可,小伙伴可根据自己情况修改宽高比
from qtpy.QtCore import QSize
self.resize(QSize(300, 500))
至此即可
问题答疑
项目相对简单,可能存在潜藏Bug,还望见谅!!!
- 标签并非实时显示:而是只在文件打开首次读取对应数据,从而显示。现标数据需要保存好 JSON文件后,才能显示,即可通过【Next Image/Prev Image】操作显示
- 按照上述操作,可能存在显示的标签会被 标注框覆盖的情况,在此,可以将 绘制的代码移至
p.end()前面,这样就可以将对应的 label 置顶显示了
- 由于数据集图片不同,因此绘笔的颜色可能对比度不强,因此如果出现标签不是特别明显的小伙伴,可以自行修改绘笔的颜色
p.setFont(QColor( , , ))即可
边栏推荐
猜你喜欢
随机推荐
canvas随机生成树木js特效
观点:灵魂绑定NFT和去中心化社会
[C language brush questions] Explanation of the use of linked lists
[极客大挑战 2019]BabySQL 1
量化初级 -- akshare获得股票代码,最简策略
Ernie-gram, 显式、完备的 n-gram 掩码语言模型,实现了显式的 n-gram 语义单元知识建模。
[WeChat Mini Program] Component usage and attribute reference
[C语言刷题篇]链表运用讲解
“我“眼中的测试/开发程序员,预想与现实的碰撞......
tutorial/detailed_workflow.ipynb 量化金融Qlib库
Interface Project 02 Documentation: Jmeter Interface Testing and Performance Testing
虚拟偶像的歌声原来是这样生成的!
Piotr`s Ants
大数阶乘计算
[Network] LAN technology MSTP
数据库项目01文档:软件测试需要的数据库技能
hihoCoder#1037 : 数字三角形(DP)
接口项目02文档:Jmeter接口测试与性能测试
Pycaret on diamond data sets using the regression problem
4G无线模块 电力通信模块









