日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

「硬核」labelme 图片中显示标签

發布時間:2024/1/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「硬核」labelme 图片中显示标签 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是一篇小眾的博客,大部分小伙伴可能使用不到,但是對需要的小伙伴絕對是一劑良藥!希望對有需要的小伙伴有用!

labelme 雖然主要用于數據的標注,但是標注完的數據集在檢查的時候,檢查標注框對應的標簽是否正確,此工作隨不常用,但是用到時卻十分不方便,每張圖片都需要一個一個框的點擊,然后查看對應的標簽是否正確,十分耗時耗力。

在此,博主在labelme的基礎上,將對應的標簽一并顯示出來,此舉使得不再需要一一點擊查看,而是直接掃描一眼即可,十分方便,至少可以提高 10倍

修改好的代碼以上傳至 viatorsun.blog.csdn.net
以防萬一,建議 小伙伴只將其中的 app.pywidgets/canvas.pywidgets/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 QSizeself.resize(QSize(300, 500))

至此即可


問題答疑

項目相對簡單,可能存在潛藏Bug,還望見諒!!!

  • 標簽并非實時顯示:而是只在文件打開首次讀取對應數據,從而顯示。現標數據需要保存好 JSON文件后,才能顯示,即可通過【Next Image/Prev Image】操作顯示
  • 按照上述操作,可能存在顯示的標簽會被 標注框覆蓋的情況,在此,可以將 繪制的代碼移至 p.end() 前面,這樣就可以將對應的 label 置頂顯示了
  • 由于數據集圖片不同,因此繪筆的顏色可能對比度不強,因此如果出現標簽不是特別明顯的小伙伴,可以自行修改繪筆的顏色 p.setFont(QColor( , , )) 即可
  • 總結

    以上是生活随笔為你收集整理的「硬核」labelme 图片中显示标签的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。