一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PyQT5案例開(kāi)發(fā)

OpenCV學(xué)堂 ? 來(lái)源:OpenCV學(xué)堂 ? 2023-05-25 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基本設(shè)計(jì)思路

基于YOLOv8對(duì)象檢測(cè)/實(shí)例分割模型,實(shí)現(xiàn)一個(gè)基于檢測(cè)的對(duì)象跟蹤算法,YOLOv8支持兩種主流的對(duì)象跟蹤算法ByteTrack與Botsort。通過(guò)自定義數(shù)據(jù)訓(xùn)練YOLOv8對(duì)象檢測(cè)器可以實(shí)現(xiàn)不同類(lèi)別的對(duì)象的跟蹤。同時(shí)基于檢測(cè)與跟蹤模型的輸出,實(shí)現(xiàn)了對(duì)象計(jì)數(shù)、指定類(lèi)別跟蹤、區(qū)域流量統(tǒng)計(jì)、指定ID跟蹤、單對(duì)象與多對(duì)象跟蹤等操作。

應(yīng)用開(kāi)發(fā)層面,需要三個(gè)主要的交互與顯示界面,一個(gè)是針對(duì)YOLOv8檢測(cè)與跟蹤模型的模型參數(shù)設(shè)置;第二個(gè)是針對(duì)YOLOv8檢測(cè)與跟蹤結(jié)果的顯示過(guò)濾與輸出過(guò)濾的后處理;第三個(gè)是針對(duì)后處理數(shù)據(jù)的顯示包括流量出入、是否需要語(yǔ)音報(bào)警等應(yīng)用層面的數(shù)據(jù)展示。

整個(gè)程序開(kāi)發(fā)實(shí)現(xiàn)了跟蹤線(xiàn)程與界面線(xiàn)程分別獨(dú)立工作,支持?jǐn)?shù)據(jù)交互,實(shí)時(shí)顯示運(yùn)行結(jié)果與流量統(tǒng)計(jì)信息展示。最終完成的界面設(shè)計(jì)如下:

cc1564a4-fa35-11ed-90ce-dac502259ad0.png

運(yùn)行截圖

實(shí)時(shí)車(chē)輛流量統(tǒng)計(jì)

cc1c9206-fa35-11ed-90ce-dac502259ad0.png

基于對(duì)象ID的單對(duì)象跟蹤:

cc291350-fa35-11ed-90ce-dac502259ad0.png

人流量出入統(tǒng)計(jì)

cc325618-fa35-11ed-90ce-dac502259ad0.png

代碼

啟動(dòng)跟蹤開(kāi)始交通流量統(tǒng)計(jì)線(xiàn)程的代碼如下:

defon_yolov8_track(self):
image_file=self.image_file_edit.text()
label_file=self.label_file_path.text()
model_file=self.weight_file_path.text()
iflen(image_file)==0orlen(label_file)==0orlen(model_file)==0:
QtWidgets.QMessageBox.warning(self,"警告","參數(shù)文件未選擇...")
return

self.traffic_delta_label.setText("流量?jī)糁?0")
self.traffic_jam_label.setText("總流量:0")
self.input_traffic_label.setText("進(jìn)流量:0")
self.output_traffic_label.setText("出流量:0")

settings=DLInferSettings()
settings.weight_file_path=self.weight_file_path.text()
settings.label_map_file_path=self.label_file_path.text()
settings.score_threshold=self.conf_spinbox.value()
settings.input_image=image_file
settings.track_vehicle=self.vehicle_chkbox.isChecked()
settings.track_person=self.person_chkbox.isChecked()
settings.track_by_category_index=self.category_combox.currentIndex()
settings.track_id=self.track_by_id_spin_box.value()
settings.target_deploy=1
ifself.hline_rbtn.isChecked():
settings.track_line_type=0
ifself.vline_rbtn.isChecked():
settings.track_line_type=1
ifself.diagonal_rbtn.isChecked():
settings.track_line_type=2

self.work_thread=InferenceThread(settings)
self.work_thread.fire_stats_signal.connect(self.on_update_result_image)
self.work_thread.finished.connect(self.work_thread.deleteLater)
self.work_thread.start()
self.startBtn.setStyleSheet("background-color:gray;color:white")
self.startBtn.setEnabled(False)
self.stopBtn.setStyleSheet("background-color:cyan;color:black")
self.stopBtn.setEnabled(True)
使用槽函數(shù)更新界面,實(shí)現(xiàn)實(shí)時(shí)分析結(jié)果顯示的代碼如下:
defon_update_result_image(self,outs):
image=outs.get("result")
done=outs.get("done")
num_in=outs.get("num_in")
num_out=outs.get("num_out")
ifimageisnotNone:
dst=cv.cvtColor(image,cv.COLOR_BGR2RGB)
height,width,channel=dst.shape
bytesPerLine=3*width
img=QtGui.QImage(dst.data,width,height,bytesPerLine,QtGui.QImage.Format_RGB888)
pixmap=QtGui.QPixmap(img)
pix=pixmap.scaled(QtCore.QSize(1280,720),QtCore.Qt.KeepAspectRatio)
self.label.setPixmap(pix)
self.show_text("OpenCV開(kāi)發(fā)者聯(lián)盟-跟蹤演示")
self.traffic_delta_label.setText("流量?jī)糁?%d"%(num_in-num_out))
self.traffic_jam_label.setText("總流量:%d"%(num_in+num_out))
self.input_traffic_label.setText("進(jìn)流量:%d"%num_in)
self.output_traffic_label.setText("出流量:%d"%num_out)
ifdoneisnotNone:
self.stopBtn.setStyleSheet("background-color:gray;color:white")
self.stopBtn.setEnabled(False)
self.startBtn.setStyleSheet("background-color:cyan;color:black")
self.startBtn.setEnabled(True)





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 檢測(cè)器
    +關(guān)注

    關(guān)注

    1

    文章

    894

    瀏覽量

    48671
  • 過(guò)濾器
    +關(guān)注

    關(guān)注

    1

    文章

    439

    瀏覽量

    20380

原文標(biāo)題:PyQT5案例開(kāi)發(fā)

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在全志H616核桃派開(kāi)發(fā)板上進(jìn)行PyQt5的代碼編寫(xiě)和運(yùn)行

    : utf-8 -*- # pyQT5 For WalnutPi from PyQt5 import QtCore, QtGui, QtWidgets classUi_MainWindow(object
    發(fā)表于 05-13 09:59

    在全志H616核桃派開(kāi)發(fā)板上部署PyQt5的信號(hào)與槽詳解

    什么是信號(hào)和槽 信號(hào)(signal)和槽(slot)是PyQt5對(duì)象之間通訊紐帶。一個(gè)完整的信號(hào)和槽流程有4個(gè)內(nèi)容: 發(fā)送者、信號(hào)、接收者、槽。 他們之間最簡(jiǎn)單的流程如下: 舉個(gè)例子:在前面第一個(gè)
    發(fā)表于 05-13 10:10

    使用PyQt5自動(dòng)初始化OpenVINO?環(huán)境出現(xiàn)報(bào)錯(cuò)怎么解決?

    編寫(xiě)了一個(gè)程序以使用 PyQt5 自動(dòng)初始化OpenVINO?環(huán)境:從 PyQt5 導(dǎo)入 QtWidgets 導(dǎo)入操作系統(tǒng) #import時(shí)間 導(dǎo)入系統(tǒng) 如果__name__
    發(fā)表于 03-07 06:35

    【Firefly RK3399試用體驗(yàn)】第二篇:PyQt5大戰(zhàn)點(diǎn)燈

    ,使用命令apt install python3-pyqt5Ubuntu里也提供了一些IDE開(kāi)發(fā)工具如IDLE、Spyder等等,此處不詳細(xì)介紹它們安裝過(guò)程。之后我們開(kāi)始編寫(xiě)Pyqt5點(diǎn)燈,需要的前提
    發(fā)表于 06-12 07:49

    利用PyQt5編輯軟件界面的簡(jiǎn)單步驟

    的操作以及利用PyQt5編輯軟件界面的簡(jiǎn)單步驟。實(shí)現(xiàn)難度不大,但需要運(yùn)行第二線(xiàn)程運(yùn)行輸出脈沖的程序。 首先,推薦一下PyQt5和Eric6的學(xué)習(xí)資料...
    發(fā)表于 09-16 07:48

    如何使用Python配合PyQT5模塊來(lái)開(kāi)發(fā)圖形化應(yīng)用程序

    By Toradex秦海1).簡(jiǎn)介隨著Python在互聯(lián)網(wǎng)人工智能領(lǐng)域的流行,大家也慢慢感受到Python開(kāi)發(fā)的便利,本文就基于嵌入式ARM平臺(tái),介紹使用Python配合PyQT5模塊來(lái)開(kāi)發(fā)圖形化
    發(fā)表于 12-24 06:41

    魯班貓0 ubuntu20 解決python3.10安裝pyqt5

    前面用pip install pyqt5,總是安裝不成功。經(jīng)查閱資料,最后用:udo apt install python3-pyqt5成功安裝cat@lubancat:~$
    發(fā)表于 04-09 11:04

    Python PyQt5工具在Windows平臺(tái)上的安裝方法

    Python PyQt5工具安裝步驟:1. 安裝Python3.4.1,默認(rèn)安裝路徑:C:\Python34;2. 安裝PyQt5,會(huì)根據(jù)Python的安裝路徑自動(dòng)進(jìn)行安裝,不需要修改;3. 測(cè)試安裝是否成功。創(chuàng)建一個(gè)py文件,寫(xiě)入以下代碼,運(yùn)行后彈出widget窗口就說(shuō)
    發(fā)表于 02-13 10:45 ?2721次閱讀

    PyQt5的中文教程電子書(shū)免費(fèi)下載

     本教程的目的是帶領(lǐng)你入門(mén)PyQt5。教程內(nèi)所有代碼都在Linux上測(cè)試通過(guò)。PyQt4 教程是PyQt4的教程,PyQt4是一個(gè)Python(同時(shí)支持 2和3)版的Qt庫(kù)。
    發(fā)表于 08-06 08:00 ?19次下載
    <b class='flag-5'>PyQt5</b>的中文教程電子書(shū)免費(fèi)下載

    PyQT5+OpenCV開(kāi)發(fā)的應(yīng)用如何打包發(fā)布?

    我自己用PyQT5寫(xiě)了一個(gè)應(yīng)用程序,基本上都寫(xiě)好了,到了打包發(fā)布這個(gè)環(huán)節(jié),我知道的有兩個(gè)工具可以幫我打包分別是。
    的頭像 發(fā)表于 10-25 09:40 ?3169次閱讀

    2023年P(guān)ython GUI桌面應(yīng)用開(kāi)發(fā)該選哪個(gè)庫(kù)

    當(dāng)前主流的Python GUI庫(kù)主要有PyQT5、TKinter、Pyside、PyQT5/PySide+QML、Kivy、PySimpleGUI等,PyQT5是它們當(dāng)中絕對(duì)的佼佼者,它基于著名的Qt框架構(gòu)建,擁有眾多
    的頭像 發(fā)表于 01-30 11:57 ?2058次閱讀

    請(qǐng)問(wèn)PyQT5是如何構(gòu)建YOLOv8界面應(yīng)用程序的

    PyQT5中引用OpenMV2023版本支持SDK,實(shí)現(xiàn)二次開(kāi)發(fā)使用。OpenMV算法層已經(jīng)開(kāi)放SDK調(diào)用支持,從圖像處理、分析、測(cè)量到深度學(xué)習(xí)推理全部支持SDK調(diào)用方式實(shí)現(xiàn)第三方應(yīng)用與程序集成。
    的頭像 發(fā)表于 02-14 17:07 ?1855次閱讀

    使用pycharm開(kāi)發(fā)上位機(jī)配置pyqt5的環(huán)境

    在上位機(jī)的開(kāi)發(fā)過(guò)程中,使用QT的圖形化界面,是開(kāi)發(fā)上位機(jī)最好最簡(jiǎn)單的選擇,因此我將講述配置pyqt5的環(huán)境。 軟件安裝: 安裝:pycharm的社區(qū)2021.02版 QT(安裝參考https
    發(fā)表于 05-29 16:12 ?0次下載
    使用pycharm<b class='flag-5'>開(kāi)發(fā)</b>上位機(jī)配置<b class='flag-5'>pyqt5</b>的環(huán)境

    PYQT5自動(dòng)化上位機(jī)開(kāi)發(fā)記錄

    記錄使用PYQT5快速開(kāi)發(fā)生產(chǎn)工具使用python開(kāi)發(fā)用于wafer切割系統(tǒng)控制部分 文章簡(jiǎn)介 項(xiàng)目簡(jiǎn)介 控制框圖 DEMO展示 基礎(chǔ)環(huán)境搭建 因其他原因停止更新使用python開(kāi)發(fā)
    發(fā)表于 05-11 18:25 ?2次下載
    <b class='flag-5'>PYQT5</b>自動(dòng)化上位機(jī)<b class='flag-5'>開(kāi)發(fā)</b>記錄

    基于PyQT5與ONNXRUNTIME實(shí)現(xiàn)風(fēng)格遷移應(yīng)用

    2023年一月份跟二月份創(chuàng)建了一個(gè)PyQT5人工智能軟件開(kāi)發(fā)系列的文章系列,過(guò)去的兩個(gè)月都沒(méi)怎么更新,心里一直想有時(shí)間繼續(xù)更新下去,今天又更新了一篇,基于PyQT5實(shí)現(xiàn)多線(xiàn)程、界面化、風(fēng)格遷移模型的實(shí)時(shí)推理。
    的頭像 發(fā)表于 10-25 10:35 ?718次閱讀
    基于<b class='flag-5'>PyQT5</b>與ONNXRUNTIME實(shí)現(xiàn)風(fēng)格遷移應(yīng)用