色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

OpenCV學(xué)堂 ? 來源:OpenCV開發(fā)者聯(lián)盟 ? 作者:2號高手 ? 2023-02-14 17:07 ? 次閱讀

引言

在PyQT5中引用OpenMV2023版本支持SDK,實現(xiàn)二次開發(fā)使用。OpenMV算法層已經(jīng)開放SDK調(diào)用支持,從圖像處理、分析、測量到深度學(xué)習(xí)推理全部支持SDK調(diào)用方式實現(xiàn)第三方應(yīng)用與程序集成。

圖像分析SDK支持

da687132-ac41-11ed-bfe3-dac502259ad0.png

YOLOv8推理SDK支持

OpenMV中YOLOv8推理支持包導(dǎo)入,從dlcore包中導(dǎo)入:

from dlcore.dl_infer_settings import DLInferSettings
from dlcore.yolov8_vino_ort_infer import YOLOv8Detector
OpenCV庫導(dǎo)入支持
import cv2 as cv
然后完成下面的代碼
settings = DLInferSettings()
settings.weight_file_path = self.weight_file_path.text()
settings.label_map_file_path = "D:/projects/classes.txt"
settings.target_deploy = 1
detector = YOLOv8Detector(settings)
image = cv.imread(image_file)
detector.infer_image(image)
cv.waitKey("result", image)
即可實現(xiàn)YOLOv8圖像推理與結(jié)果顯示。 關(guān)于OpenMVSDK支持與上述更詳細(xì)的資料參考見《Open Machine Vision Toolkit Software2023.1開發(fā)者手冊》PDF文檔。

綜合代碼演示

da8ddb48-ac41-11ed-bfe3-dac502259ad0.png

灰度

dad781f8-ac41-11ed-bfe3-dac502259ad0.png

YOLOv8推理

daeccf18-ac41-11ed-bfe3-dac502259ad0.png

相關(guān)實現(xiàn)代碼如下:

  1fromdlcore.yolov8_vino_ort_inferimportYOLOv8Detector
  2fromdlcore.dl_infer_settingsimportDLInferSettings
  3importcv2ascv
  4fromPyQt5importQtWidgets,QtCore,QtGui
  5fromvmcore.color_space_taskimportColorSpaceTask
  6importsys
  7
  8
  9classRadioCheckBoxDemoPanel(QtWidgets.QWidget):
 10def__init__(self,parent=None):
 11super().__init__(parent)
 12#文本標(biāo)簽
 13self.rbtn0=QtWidgets.QRadioButton("原圖")
 14self.rbtn1=QtWidgets.QRadioButton("灰度")
 15self.rbtn3=QtWidgets.QRadioButton("YOLOv8推理")
 16self.rbtn0.setChecked(True)
 17
 18hbox_layout1=QtWidgets.QHBoxLayout()
 19hbox_layout1.addWidget(self.rbtn0)
 20hbox_layout1.addWidget(self.rbtn1)
 21hbox_layout1.addWidget(self.rbtn3)
 22
 23panel1=QtWidgets.QGroupBox("SDK演示")
 24panel1.setLayout(hbox_layout1)
 25
 26#輸入文本框
 27self.image_file_edit=QtWidgets.QLineEdit()
 28self.image_file_edit.setMinimumWidth(100)
 29self.image_file_edit.setEnabled(False)
 30fileBtn=QtWidgets.QPushButton("圖像")
 31self.weight_file_path=QtWidgets.QLineEdit()
 32self.weight_file_path.setMinimumWidth(100)
 33self.weight_file_path.setEnabled(False)
 34modelBtn=QtWidgets.QPushButton("模型")
 35
 36hbox_layout2=QtWidgets.QHBoxLayout()
 37hbox_layout2.addWidget(fileBtn)
 38hbox_layout2.addWidget(self.image_file_edit)
 39hbox_layout2.addWidget(modelBtn)
 40hbox_layout2.addWidget(self.weight_file_path)
 41
 42panel2=QtWidgets.QGroupBox("參數(shù)文件")
 43panel2.setLayout(hbox_layout2)
 44
 45#輸入文本框
 46self.label=QtWidgets.QLabel()
 47pixmap=QtGui.QPixmap("images/wp.jpg")
 48pix=pixmap.scaled(QtCore.QSize(620,500),QtCore.Qt.KeepAspectRatio)
 49self.label.setPixmap(pix)
 50self.label.setAlignment(QtCore.Qt.AlignCenter)
 51self.label.setStyleSheet("background-color:black;color:green")
 52
 53#添加到布局管理器中
 54vbox_layout=QtWidgets.QVBoxLayout()
 55vbox_layout.addWidget(panel2)
 56vbox_layout.addWidget(panel1)
 57vbox_layout.addWidget(self.label)
 58vbox_layout.addStretch(1)
 59
 60#面板容器
 61self.setLayout(vbox_layout)
 62
 63#setuplistener
 64self.rbtn0.toggled.connect(self.on_update_original)
 65self.rbtn1.toggled.connect(self.on_update_gray)
 66self.rbtn3.toggled.connect(self.on_yolov8_infer)
 67modelBtn.clicked.connect(self.on_weight_select)
 68fileBtn.clicked.connect(self.on_update_image)
 69
 70defon_update_original(self):
 71image_file=self.image_file_edit.text()
 72iflen(image_file)==0orimage_fileisNone:
 73QtWidgets.QMessageBox.warning(self,"警告","圖像文件未選擇...")
 74return
 75pixmap=QtGui.QPixmap(image_file)
 76pix=pixmap.scaled(QtCore.QSize(620,500),QtCore.Qt.KeepAspectRatio)
 77self.label.setPixmap(pix)
 78
 79defon_update_gray(self):
 80image_file=self.image_file_edit.text()
 81iflen(image_file)==0orimage_fileisNone:
 82QtWidgets.QMessageBox.warning(self,"警告","圖像文件未選擇...")
 83return
 84image=cv.imread(image_file)
 85cst=ColorSpaceTask()
 86cst.low_scalar=(0,0,0)
 87cst.high_scalar=(0,0,0)
 88#0-BGR,1-HSV,2-gray
 89cst.color_type=2
 90output=cst.t_exec(image)
 91gray=output['result']
 92dst=cv.cvtColor(gray,cv.COLOR_GRAY2RGB)
 93
 94height,width,channel=dst.shape
 95bytesPerLine=3*width
 96img=QtGui.QImage(dst.data,width,height,bytesPerLine,QtGui.QImage.Format_RGB888)
 97pixmap=QtGui.QPixmap(img)
 98pix=pixmap.scaled(QtCore.QSize(620,500),QtCore.Qt.KeepAspectRatio)
 99self.label.setPixmap(pix)
100
101defon_yolov8_infer(self):
102image_file=self.image_file_edit.text()
103iflen(image_file)==0orimage_fileisNone:
104QtWidgets.QMessageBox.warning(self,"警告","圖像文件未選擇...")
105return
106
107settings=DLInferSettings()
108settings.weight_file_path=self.weight_file_path.text()
109settings.label_map_file_path="D:/projects/classes.txt"
110settings.target_deploy=1
111detector=YOLOv8Detector(settings)
112image=cv.imread(image_file)
113detector.infer_image(image)
114
115dst=cv.cvtColor(image,cv.COLOR_BGR2RGB)
116height,width,channel=dst.shape
117bytesPerLine=3*width
118img=QtGui.QImage(dst.data,width,height,bytesPerLine,QtGui.QImage.Format_RGB888)
119pixmap=QtGui.QPixmap(img)
120pix=pixmap.scaled(QtCore.QSize(620,500),QtCore.Qt.KeepAspectRatio)
121self.label.setPixmap(pix)





審核編輯:劉清

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

    關(guān)注

    3

    文章

    659

    瀏覽量

    39658
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1035

    瀏覽量

    45907
  • pyqt5
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    3398
  • openMV
    +關(guān)注

    關(guān)注

    3

    文章

    39

    瀏覽量

    9811

原文標(biāo)題:PyQT5構(gòu)建YOLOv8界面應(yīng)用程序

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

收藏 人收藏

    評論

    相關(guān)推薦

    利用PyQt5編輯軟件界面的簡單步驟

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

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

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

    PyQt5的中文教程電子書免費下載

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

    使用YOLOv8做目標(biāo)檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進的性能。
    的頭像 發(fā)表于 02-06 10:11 ?7467次閱讀

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

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

    如何實現(xiàn)YOLOv8 + ONNRUNTIME推理界面化與多線程支持

    2023年一月份跟二月份創(chuàng)建了一個PyQT5人工智能軟件開發(fā)系列的文章系列,過去的兩個月都沒怎么更新,心里一直想有時間繼續(xù)更新下去,今天又更新了一篇,基于PyQT5實現(xiàn)多線程、界面化、YOLO
    的頭像 發(fā)表于 05-22 09:26 ?2401次閱讀
    如何實現(xiàn)<b class='flag-5'>YOLOv8</b> + ONNRUNTIME推理<b class='flag-5'>界面</b>化與多線程支持

    PyQT5案例開發(fā)

    基于YOLOv8對象檢測/實例分割模型,實現(xiàn)一個基于檢測的對象跟蹤算法,YOLOv8支持兩種主流的對象跟蹤算法ByteTrack與Botsort。
    的頭像 發(fā)表于 05-25 09:46 ?586次閱讀
    <b class='flag-5'>PyQT5</b>案例開發(fā)

    目標(biāo)檢測算法再升級!YOLOv8保姆級教程一鍵體驗

    YOLO作為一種基于圖像全局信息進行預(yù)測的目標(biāo)檢測系統(tǒng),始終保持著極高的迭代更新率,從YOLOv5YOLOv8,本次升級主要包括結(jié)構(gòu)算法、命令行界面、PythonAPI等。具體到YOLOv8
    的頭像 發(fā)表于 02-28 11:16 ?2684次閱讀
    目標(biāo)檢測算法再升級!<b class='flag-5'>YOLOv8</b>保姆級教程一鍵體驗

    三種主流模型部署框架YOLOv8推理演示

    深度學(xué)習(xí)模型部署有OpenVINO、ONNXRUNTIME、TensorRT三個主流框架,均支持Python與C++的SDK使用。對YOLOv5~YOLOv8的系列模型,均可以通過C++推理實現(xiàn)模型
    的頭像 發(fā)表于 08-06 11:39 ?2735次閱讀

    解鎖YOLOv8修改+注意力模塊訓(xùn)練與部署流程

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發(fā)現(xiàn)找到的YOLOv8項目下面TAG分支是空的
    的頭像 發(fā)表于 08-11 14:14 ?4345次閱讀
    解鎖<b class='flag-5'>YOLOv8</b>修改+注意力模塊訓(xùn)練與部署流程

    如何修改YOLOv8的源碼

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發(fā)現(xiàn)找到的YOLOv8項目下面TAG分支是空的,然后就直接從master/main下面把源碼克隆出來一通
    的頭像 發(fā)表于 09-04 10:02 ?1997次閱讀
    如何修改<b class='flag-5'>YOLOv8</b>的源碼

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

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

    如何快速開發(fā)出功能強大、界面美觀的GUI 應(yīng)用程序

    平臺的 GUI 應(yīng)用程序 相比 Tkiner和 wxpython,PyQt5 利用自帶的 Qt Designer 可視化工具進行界面設(shè)計,可以非常快速地開發(fā)出一款功能強大、界面美觀的
    的頭像 發(fā)表于 11-02 14:45 ?3309次閱讀
    如何快速開發(fā)出功能強大、<b class='flag-5'>界面</b>美觀的GUI <b class='flag-5'>應(yīng)用程序</b>

    基于YOLOv8的自定義醫(yī)學(xué)圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓(xùn)練、測試和部署。在本教程中,我們將學(xué)習(xí)如何在自定義數(shù)據(jù)集上使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優(yōu)秀的分割模型時應(yīng)該使用YOLOv8呢?
    的頭像 發(fā)表于 12-20 10:51 ?772次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫(yī)學(xué)圖像分割

    YOLOv8+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    YOLOv8對象檢測模型基于自定義數(shù)據(jù)集訓(xùn)練紅白細(xì)胞檢測模型,然后通過工具導(dǎo)出模型為ONNX,基于OpenVINO實現(xiàn)模型推理,完成細(xì)胞檢測識別,根據(jù)檢測到的細(xì)胞類別與數(shù)目,統(tǒng)計,在PyQT5打造的界面上顯示輸出檢測結(jié)果。
    的頭像 發(fā)表于 01-15 17:22 ?1143次閱讀
    <b class='flag-5'>YOLOv8+PyQT5</b>打造細(xì)胞計數(shù)與識別應(yīng)用說明
    主站蜘蛛池模板: 91久久线看在观草草青青| 亚洲国产日韩a精品乱码| 日本电影小姐| 日日做夜夜欢狠狠免费软件| 色窝窝777欧美午夜精品影院| 熟妇无码乱子成人精品| 午夜想想爱午夜剧场| 国产在线高清亚洲精品一区| 果冻传媒在线完整免费播放| HEYZO精品无码一区二区三区| 在线 | 果冻国产传媒61国产免费| 亚洲三级精品| 999久久久无码国产精蜜柚| 不良网站进入窗口软件下载免费| 国产AV电影区二区三区曰曰骚网| 国产香蕉视频| 擼擼擼麻豆密臀AV| 秋霞伦理手机在线看片| 秀婷程仪公欲息肉婷在线观看| 亚洲视频在线免费观看| 性派对xxxhd| 中文字幕无线手机在线| 超碰caoporn| 狠狠色狠狠色狠狠五月ady| 麻豆人妻无码性色AV| 日日摸天天添天天添无码蜜臀| 亚洲薄码区| 973午夜伦伦电影论片| 国产成人在线免费观看| 久草国产在线播放| 人驴交f ee欧美| 亚洲色大成网站WWW永久麻豆| 99精品国产在热久久| 国产精品玖玖玖影院| 麻豆AV蜜桃AV久久| 神马影院午夜理论二| 诱咪视频免费| 菲律宾毛片| 久久久这里有精品999| 色综合久久综合网观看| 在线免费公开视频|