一、選擇YOLOv5s模型
?YOLOv5:YOLOv5 是一個輕量級的目標檢測模型,它在 YOLOv4 的基礎上進行了進一步優化,使其在保持較高檢測精度的同時,具有更快的推理速度。YOLOv5 的網絡結構更加靈活,可以根據不同的需求選擇不同大小的模型,如 YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x,分別對應不同的模型復雜度和性能。
二、設計PyQt界面
三、槽函數綁定信號
界面注冊函數
def register(self):connect=sqlite3.connect('register.db')cursor=connect.cursor()user_id=self.lineEdit.text()password=self.lineEdit_2.text()confirm=self.lineEdit_3.text()if password==confirm and user_id and password:sql='insert into user (user_id, password) values (?, ?)'cursor.execute(sql,(user_id,password))connect.commit()cursor.close()connect.close()QMessageBox.information(self,"提示","注冊成功")elif password!=confirm:QMessageBox.information(self,"提示","兩次密碼不一致,請重新輸入!")else:QMessageBox.information(self, "提示", "信息輸入錯誤,請重新輸入!")
用的數據庫是sqlite3,直接import sqlite3,用起來比較方便。
點擊登錄按鈕,就會調用detect函數,在數據庫里查找信息匹配,判斷賬號和密碼是否對應。
#打開檢測界面def detect(self):connect=sqlite3.connect('register.db')cursor=connect.cursor()user_id=self.lineEdit.text()password=self.lineEdit_2.text()if user_id and password:sql='select user_id,password from user where user_id=? and password=?'cursor.execute(sql,(user_id,password))connect.commit()data=cursor.fetchall()if data:self.close()DetectWin.show()else:QMessageBox.information(self,"提示","用戶名或者密碼錯誤,請重新輸入")cursor.close()connect.close()else:QMessageBox.information(self,"提示","存在未輸入項")
對應的話就會登錄到檢測界面
檢測界面有四個按鈕:加載模型、加載數據、開始檢測、攝像頭檢測。
點擊加載模型按鈕,就會打開文件夾模型的路徑。然后選擇訓練好的模型。
點擊加載數據按鈕,就會打開數據存放路徑的文件夾,選擇的數據可以是視頻、可以是圖片。
點擊開始檢測按鈕,就會調用YOLOv5自帶的detect.py代碼,模型是你訓練好的模型,然后就會開始檢測,檢測結果直接顯示在界面右邊,打開輸出文件夾,里面是檢測結果圖片或者視頻。
點擊攝像頭檢測,就會調用電腦攝像頭然后開始識別物體,檢測結果直接實時顯示在界面右邊。
三、運行效果展示
20250512_175736
?四、源碼和環境配置
價格可談,幫你配置環境和代碼運行成功,不局限于水果檢測,各種檢測合適的話都可接