win下安裝labelimg

1、anconda安裝python、qt的版本

conda create -n labelme python==3.10.18
PyQt5                     5.15.11                   <pip>
PyQt5-Qt5                 5.15.2                    <pip>
PyQt5_sip                 12.17.0                   <pip>

2、安裝labelimg

https://github.com/HumanSignal/labelImg

tag選擇:v1.8.6版本(最好選擇)

conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

3、設置predefined_classes文件,然后進行替換(在./data/predefined_classes.txt,yolo格式需要)

scrapingNozzle
black
white
impurityOthers
filiform

4、出現點擊繪制出錯進行修改

 p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())
TypeError: arguments did not match any overloaded call:drawLine(self, l: QLineF): argument 1 has unexpected type 'float'drawLine(self, line: QLine): argument 1 has unexpected type 'float'drawLine(self, x1: int, y1: int, x2: int, y2: int): argument 1 has unexpected type 'float'drawLine(self, p1: QPoint, p2: QPoint): argument 1 has unexpected type 'float'drawLine(self, p1: Union[QPointF, QPoint], p2: Union[QPointF, QPoint]): argument 1 has unexpected type 'float'

4.1 打開canvas.py文件

# 526行p.drawRect(left_top.x(), left_top.y(), rect_width, rect_height)修改為p.drawRect(int(left_top.x()),int(left_top.y()), int(rect_width), int(rect_height))#530行
p.drawLine(self.prev_point.x(), 0, self.prev_point.x(), self.pixmap.height())
修改為
p.drawLine(int(self.prev_point.x()), 0, int(self.prev_point.x()), int(self.pixmap.height()))#531行p.drawLine(0, self.prev_point.y(),self.pixmap.width(), self.prev_point.y())
修改為p.drawLine(0, int(self.prev_point.y()),int( self.pixmap.width()), int(self.prev_point.y()))

4.2 打開labelImg.py

#965行
bar.setValue(bar.value() + bar.singleStep() * units)
修改為
bar.setValue(int(bar.value() + bar.singleStep() * units))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92277.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92277.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92277.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Qt開發】常用控件(二) -> enabled

目錄 1 -> 什么是 enabled 屬性 2 -> API 3 -> 代碼示例 3.1 -> 創建禁用狀態按鈕 3.2 -> 通過按鈕切換按鈕的禁用狀態 1 -> 什么是 enabled 屬性 在 Qt 中&#xff0c;enabled 是 QWidget 類的一個基礎屬性&#xff0c;它控制控件是否對用戶輸入做出響…

MySQL 配置性能優化賽:核心策略與實戰技巧

在數據庫性能優化領域,MySQL 配置調優如同一場精密的競技比賽 —— 既要深刻理解數據庫內核機制,又要根據硬件環境和業務場景靈活調整參數,最終在性能指標上脫穎而出。本文將圍繞 MySQL 配置性能優化的核心維度,解析關鍵參數調優策略與實戰經驗。 一、性能優化的底層邏輯:…

C++ WonderTrader源碼分析之自旋鎖實現

一、介紹 在WonderTrader的文件SpinMutex.hpp定義了跨平臺的自旋鎖的實現。 二、實現原理 1、類 SpinMutex&#xff1a;自旋鎖實現SpinMutex 是一個輕量級的自旋鎖&#xff08;Spinlock&#xff09;實現&#xff0c;用于多線程之間保護臨界區資源。自旋鎖通過不斷嘗試獲取鎖而不…

【AI大模型】Spring AI 基于Redis實現對話持久存儲詳解

目錄 一、前言 二、Spring AI 會話記憶介紹 2.1 Spring AI 會話記憶概述 2.2 常用的會話記憶實現方式 2.2.1 集成數據庫持久存儲會話實現步驟 2.3 適用場景 三、Spring AI基于內存會話記憶存儲 3.1 本地開發環境準備 3.2 工程搭建與集成 3.2.1 添加核心依賴 3.3.2 添…

Numpy科學計算與數據分析:Numpy數據分析與圖像處理入門

Numpy實戰&#xff1a;從數據分析到圖像處理 學習目標 通過本課程&#xff0c;學員將學會運用Numpy庫進行數據分析和圖像處理。學習如何使用Numpy進行數據的高效處理&#xff0c;以及如何利用Numpy進行基本的圖像操作。 相關知識點 Numpy的數據分析和圖像處理 學習內容 1…

Vue框架總結案例

目錄 一、驗證用戶名是否已經被注冊過 二、過濾器 三、圖書管理系統 四、axios網絡請求 一、驗證用戶名是否已經被注冊過 1.案例 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script src"j…

hyper-v虛擬機啟動失敗:Virtual Pci Express Port無法打開電源,因為發生錯誤,找不到即插即用設備

啟動錯誤 今天啟動某個hyper-v虛擬機時&#xff0c;啟動失敗了&#xff0c;大概的錯誤信息為&#xff1a;嘗試更改“ubuntu_desktop_2204”的狀態時應用程序遇到錯誤。Virtual Pci Express Port (實例 ID 0445948B-C377-4912-AEEB-58A3D45C5694): 無法開機&#xff0c;因…

CSS包含塊與百分比取值機制完全指南

引言&#xff1a;為什么需要理解包含塊&#xff1f; 在CSS布局的世界中&#xff0c;包含塊(Containing Block) 是一個基礎但至關重要的概念。它就像是一個隱形的參考框架&#xff0c;決定了元素如何定位、尺寸如何計算以及百分比值如何解析。許多CSS開發者在使用百分比單位時遇…

Numpy科學計算與數據分析:Numpy數組操作入門:合并、分割與重塑

Numpy數組操作實戰 學習目標 通過本課程的學習&#xff0c;學員將掌握Numpy中數組的基本操作&#xff0c;包括數組的合并、分割以及重塑等技巧&#xff0c;能夠靈活運用這些操作處理數據&#xff0c;為后續的科學計算和數據分析打下堅實的基礎。 相關知識點 Numpy數組操作 …

11_Mybatis 是如何進行DO類和數據庫字段的映射的?

11_Mybatis 是如何進行DO類和數據庫字段的映射的&#xff1f; 假設 VideoAbnormalContentMapper.xml 文件有如下方法&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN&quo…

2025年滲透測試面試題總結-06(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 邏輯漏洞 一、三大高危業務邏輯漏洞及修復方案 1. 訂單金額篡改&#xff08;參數操縱&#xff09; 2. 重…

SpringBoot激活指定profile的方式

題目詳細答案在 Spring Boot 中&#xff0c;可以通過多種方式激活指定的 Profile&#xff0c;以便在不同的環境中使用不同的配置。在application.properties文件中激活可以在默認的application.properties文件中通過spring.profiles.active屬性激活某個 Profile。# application…

Pytest項目_day10(接口的參數傳遞)

接口的參數傳遞 如果我們需要在一個測試用例中使用另一個測試用例中獲得的數據&#xff0c;應該怎么辦&#xff1f; 解決方案一&#xff1a;使用函數返回值 - 我們可以在另一個測試用例中使用return來返回所需的數據&#xff0c;并在其他的測試用例中調用該測試用例&#xff08…

深信服GO面試題及參考答案(上)

Go 和 Java 的特點和區別是什么? Go 和 Java 都是靜態類型、編譯型語言,但在設計理念、語法特性、并發模型等方面存在顯著差異,具體如下: 從語言設計目標來看,Go 由 Google 開發,旨在解決大型系統開發中的復雜性,強調“簡單、高效、并發”,語法簡潔,摒棄了許多傳統面向…

BGP筆記及綜合實驗

BGP基礎一、BGP產生背景 - BGP定義&#xff1a;邊界網關協議&#xff08;BGP&#xff09;是自治系統間的動態路由協議&#xff0c;屬于外部網關協議&#xff08;EGP&#xff09;。 - 自治系統&#xff08;AS&#xff09;&#xff1a;由統一管理、運行同一IGP協議的路由器組成&a…

全棧:如何判斷自己應該下載哪個版本的Tomcat

版本兼容性矩陣 https://tomcat.apache.org/whichversion.html https://tomcat.apache.org/download-11.cgi 介紹一下這些版本的不同點&#xff1a; 一、按系統選&#xff08;優先看這個&#xff09; 1.Windows 系統&#xff08;普通使用&#xff0c;非服務自啟&#xff09…

Redis的Linux安裝

可以直接命令下載 wget http://download.redis.io/releases/redis-5.0.4.tar.gz下載好之后解壓縮&#xff0c;并且重命名為redis 由于redis是c語言編寫的&#xff0c;所以我們需要先安裝gcc&#xff0c;安裝的命令如下&#xff1a;yum -y install gcc 安裝成功后輸入 : gcc -v…

14-netty基礎-手寫rpc-提供方(服務端)-06

netty系列文章&#xff1a; 01-netty基礎-socket02-netty基礎-java四種IO模型03-netty基礎-多路復用select、poll、epoll04-netty基礎-Reactor三種模型05-netty基礎-ByteBuf數據結構06-netty基礎-編碼解碼07-netty基礎-自定義編解碼器08-netty基礎-自定義序列化和反序列化09-n…

連續時間和數字之間頻率的偏差以及相位補償

接下來需要講解在連續時間域下的角頻率以及在離散化后的數字角頻率。上面可以知道模擬角頻率和數字的區別 接下來介紹相位 相位單位是弧度無頻偏&#xff1a; 對于數字來說是對連續信號采樣后的結果&#xff0c;數字的角頻率 &#xff0c;就是相位的遞增量&#xff0c;表示每個…

《Git從入門到精通:告別版本管理混亂》

堅持用 清晰易懂的圖解 代碼語言&#xff0c;讓每個知識點變得簡單&#xff01; &#x1f680;呆頭個人主頁詳情 &#x1f331; 呆頭個人Gitee代碼倉庫 &#x1f4cc; 呆頭詳細專欄系列 座右銘&#xff1a; “不患無位&#xff0c;患所以立。” 《Git從入門到精通&#xff1a…