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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【labelme】改造labelme

發(fā)布時間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【labelme】改造labelme 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 如何查看自己labelme安裝的位置
    例如通過pip3.8安裝
  • pip3.8 install labelme

    可以通過查看pip3.8版本尋找對應(yīng)的python安裝位置

    pip3.8 -V

    然后就可以在對應(yīng)版本的python下修改相應(yīng)的文件

  • delete 刪除標(biāo)簽時,不再彈出對話框

    找到./python/site-packages/labelme/app.py

  • def deleteSelectedShape(self):self.remLabels(self.canvas.deleteSelected())self.setDirty()if self.noShapes():for action in self.actions.onShapesPresent:action.setEnabled(False)#yes, no = QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No#msg = self.tr(# "You are about to permanently delete {} polygons, "# "proceed anyway?"#).format(len(self.canvas.selectedShapes))#if yes == QtWidgets.QMessageBox.warning(# self, self.tr("Attention"), msg, yes | no, yes#):#self.remLabels(self.canvas.deleteSelected())#self.setDirty()#if self.noShapes():# for action in self.actions.onShapesPresent:# action.setEnabled(False)
  • 選擇其他圖像,自動保存當(dāng)前標(biāo)簽信息,不再彈出對話框
    找到./python/site-packages/labelme/app.py
  • def mayContinue(self):if not self.dirty:return Trueself.saveFile()return True#mb = QtWidgets.QMessageBox#msg = self.tr('Save annotations to "{}" before closing?').format(# self.filename#)#answer = mb.question(# self,# self.tr("Save annotations?"),# msg,# mb.Save | mb.Discard | mb.Cancel,# mb.Save,#)#if answer == mb.Discard:# return True#elif answer == mb.Save:# self.saveFile()# return True#else: # answer == mb.Cancel# return False
  • imageData 不再存儲 image的信息,減少json存儲大小
    找到./python/site-packages/labelme/label_file.py
    imageData=imageData 改為 imageData=None
  • def save(self,filename,shapes,imagePath,imageHeight,imageWidth,imageData=None,otherData=None,flags=None,):if imageData is not None:imageData = base64.b64encode(imageData).decode("utf-8")imageHeight, imageWidth = self._check_image_height_and_width(imageData, imageHeight, imageWidth)if otherData is None:otherData = {}if flags is None:flags = {}data = dict(version=__version__,flags=flags,shapes=shapes,imagePath=imagePath,# imageData=imageData,imageData=None,imageHeight=imageHeight,imageWidth=imageWidth,)for key, value in otherData.items():assert key not in datadata[key] = valuetry:with open(filename, "w") as f:json.dump(data, f, ensure_ascii=False, indent=2)self.filename = filenameexcept Exception as e:raise LabelFileError(e)
  • image list 列表按照資源管理器進(jìn)行排序,順序顯示圖像
    找到./python/site-packages/labelme/app.py
    首先 import natsort,如果沒有安裝,可以pip install natsort安裝
  • def scanAllImages(self, folderPath):extensions = [".%s" % fmt.data().decode().lower()for fmt in QtGui.QImageReader.supportedImageFormats()]images = []for root, dirs, files in os.walk(folderPath):for file in files:if file.lower().endswith(tuple(extensions)):relativePath = osp.join(root, file)images.append(relativePath)# images.sort(key=lambda x: x.lower())images = natsort.natsorted(images)return images

    總結(jié)

    以上是生活随笔為你收集整理的【labelme】改造labelme的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。