在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹多種PyQT5的界面元素與它們的事件響應

OpenCV學堂 ? 來源:OpenCV開發者聯盟 ? 2023-02-06 10:32 ? 次閱讀

本文將會把OpenCV-Python中人臉檢測算法模型推理時相關的參數全部界面化,實現用戶從界面選擇文件,完成人臉檢測操作。

這過程中主要借助了已經介紹的這些組件元素。設計好的界面如下圖:

ce662998-a498-11ed-bfe3-dac502259ad0.png

選擇一張圖像或者視頻文件之后,點擊【運行】按鈕,執行如下:

ce80bcf4-a498-11ed-bfe3-dac502259ad0.png

ceb7f642-a498-11ed-bfe3-dac502259ad0.png

人臉檢測界面程序

程序實現從界面傳參到算法執行更新界面顯示的整個流程,其中人臉檢測相關OpenCV代碼實現可以參考這里:

https://www.bilibili.com/video/BV1hM4y1M7vQ/
界面構建的UI類代碼如下:
  1fromPyQt5importQtWidgets,QtCore,QtGui
  2importsys
  3importcv2ascv
  4
  5
  6classFaceDetectDemoPanel(QtWidgets.QWidget):
  7def__init__(self,parent=None):
  8super().__init__(parent)
  9#文本標簽
 10self.weight_file_path=QtWidgets.QLineEdit()
 11self.weight_file_path.setMinimumWidth(150)
 12self.weight_file_path.setEnabled(False)
 13self.weight_file_path.setText("D:/projects/face_detector/opencv_face_detector_uint8.pb")
 14self.config_file_path=QtWidgets.QLineEdit()
 15self.config_file_path.setMinimumWidth(150)
 16self.config_file_path.setEnabled(False)
 17self.config_file_path.setText("D:/projects/face_detector/opencv_face_detector.pbtxt")
 18self.weight_select_btn=QtWidgets.QPushButton("瀏覽...")
 19self.config_file_btn=QtWidgets.QPushButton("瀏覽...")
 20hbox_layout1=QtWidgets.QHBoxLayout()
 21hbox_layout1.addWidget(QtWidgets.QLabel("權重:"))
 22hbox_layout1.addWidget(self.weight_file_path)
 23hbox_layout1.addWidget(self.weight_select_btn)
 24hbox_layout1.addWidget(QtWidgets.QLabel("配置:"))
 25hbox_layout1.addWidget(self.config_file_path)
 26hbox_layout1.addWidget(self.config_file_btn)
 27
 28panel1=QtWidgets.QGroupBox("模型")
 29panel1.setLayout(hbox_layout1)
 30
 31self.spinbox1=QtWidgets.QDoubleSpinBox()
 32self.spinbox1.setRange(0.0,1.0)
 33self.spinbox1.setSingleStep(0.01)
 34self.spinbox1.setValue(0.25)
 35self.fps_chkbox=QtWidgets.QCheckBox("顯示FPS")
 36self.score_chkbox=QtWidgets.QCheckBox("顯示置信")
 37self.fps_chkbox.setChecked(True)
 38self.score_chkbox.setChecked(True)
 39
 40hbox_layout2=QtWidgets.QHBoxLayout()
 41hbox_layout2.addWidget(self.fps_chkbox)
 42hbox_layout2.addWidget(self.score_chkbox)
 43hbox_layout2.addWidget(QtWidgets.QLabel("置信閾值:"))
 44hbox_layout2.addWidget(self.spinbox1)
 45
 46panel2=QtWidgets.QGroupBox("參數與顯示")
 47panel2.setLayout(hbox_layout2)
 48
 49self.rbtn1=QtWidgets.QRadioButton("圖像")
 50self.rbtn2=QtWidgets.QRadioButton("視頻")
 51self.rbtn3=QtWidgets.QRadioButton("WebCam")
 52self.rbtn1.setChecked(True)
 53self.image_file_path=QtWidgets.QLineEdit()
 54self.image_file_path.setEnabled(False)
 55self.browser_btn=QtWidgets.QPushButton("選擇...")
 56
 57hbox_layout3=QtWidgets.QHBoxLayout()
 58hbox_layout3.addWidget(self.rbtn1)
 59hbox_layout3.addWidget(self.rbtn2)
 60hbox_layout3.addWidget(self.rbtn3)
 61hbox_layout3.addWidget(QtWidgets.QLabel("文件路徑:"))
 62hbox_layout3.addWidget(self.image_file_path)
 63hbox_layout3.addWidget(self.browser_btn)
 64
 65panel3=QtWidgets.QGroupBox("數據源")
 66panel3.setLayout(hbox_layout3)
 67
 68panel4=QtWidgets.QWidget()
 69vbox_layout4=QtWidgets.QVBoxLayout()
 70vbox_layout4.addWidget(panel1)
 71vbox_layout4.addWidget(panel2)
 72vbox_layout4.addWidget(panel3)
 73panel4.setLayout(vbox_layout4)
 74
 75#輸入文本框
 76self.label=QtWidgets.QLabel()
 77pixmap=QtGui.QPixmap("images/16.jpg")
 78pix=pixmap.scaled(QtCore.QSize(620,500),QtCore.Qt.KeepAspectRatio)
 79self.label.setPixmap(pix)
 80self.label.setAlignment(QtCore.Qt.AlignCenter)
 81self.label.setStyleSheet("background-color:black;color:green")
 82
 83self.run_btn=QtWidgets.QPushButton("運行")
 84self.run_btn.setMaximumWidth(100)
 85
 86#添加到布局管理器中
 87vbox_layout=QtWidgets.QVBoxLayout()
 88vbox_layout.addWidget(panel4)
 89vbox_layout.addWidget(self.run_btn)
 90vbox_layout.addWidget(self.label)
 91vbox_layout.addStretch(1)
 92
 93#面板容器
 94self.setLayout(vbox_layout)
 95
 96#setuplistener
 97self.weight_select_btn.clicked.connect(self.on_weight_select)
 98self.config_file_btn.clicked.connect(self.on_config_select)
 99self.browser_btn.clicked.connect(self.on_image_select)
100
101#setuplistener
102self.rbtn1.toggled.connect(self.on_select_changed)
103self.rbtn2.toggled.connect(self.on_select_changed)
104self.rbtn3.toggled.connect(self.on_select_changed)
105
106self.run_btn.clicked.connect(self.on_face_detect)

總結

本文主要是演示了PyQT5的常見組件綜合運用與OpenCV人臉檢測算法與PyQT5界面庫的結合開發,實現簡單的人臉檢測界面程序。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41596
  • python
    +關注

    關注

    56

    文章

    4811

    瀏覽量

    85077

原文標題:PyQT5開發之構建參數化的人臉檢測界面

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    在全志H616核桃派開發板上部署PyQt5的信號與槽詳解

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

    【Firefly RK3399試用體驗】第二篇:PyQt5大戰點燈

    ,使用命令apt install python3-pyqt5Ubuntu里也提供了一些IDE開發工具如IDLE、Spyder等等,此處不詳細介紹它們安裝過程。之后我們開始編寫Pyqt5
    發表于 06-12 07:49

    【Firefly RK3399試用體驗】PyQt5信號檢測系統(結項)

    介紹控制。PyQt顯示提供了通道選擇按鈕和FFT勾選框,其中0-10是采樣通道,11-13是3個TLC1543內部的測試通道,14則是Python提供測試通道,如下圖所示。首先GUI界面一旦有選擇
    發表于 07-13 12:55

    Dragonbaord 410c Python交互設計:利用pyQt搭建交互程序界面

    /51178104。安裝好后,我們可以找到pyqt5包的位置,如下:在pyqt5 目錄下大家可以看到用于pyqt開發的文檔、工具和例子,目錄下的內容具體介紹如下: doc
    發表于 09-25 15:07

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

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

    如何使用Python配合PyQT5模塊來開發圖形化應用程序

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

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

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

    Python PyQt5工具在Windows平臺上的安裝方法

    Python PyQt5工具安裝步驟:1. 安裝Python3.4.1,默認安裝路徑:C:\Python34;2. 安裝PyQt5,會根據Python的安裝路徑自動進行安裝,不需要修改;3. 測試安裝是否成功。創建一個py文件,寫入以下代碼,運行后彈出widget窗口就說
    發表于 02-13 10:45 ?2619次閱讀

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

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

    PyQT5中的QPainter類支持與圖元支持實現圖形繪制

    圖形與圖像繪制支持是一個GUI框架庫的核心模塊之一,從Java的Graphics2D到Android的Canvas類支持到PyQT5中的QPainter類支持與圖元支持,都很好的滿足了GUI庫的圖形繪制與渲染需求。
    的頭像 發表于 02-10 11:10 ?2095次閱讀

    請問PyQT5是如何構建YOLOv8界面應用程序的

    PyQT5中引用OpenMV2023版本支持SDK,實現二次開發使用。OpenMV算法層已經開放SDK調用支持,從圖像處理、分析、測量到深度學習推理全部支持SDK調用方式實現第三方應用與程序集成。
    的頭像 發表于 02-14 17:07 ?1570次閱讀

    如何用PyQt5做圖形界面(一)

    PyQt是Python版本的Qt庫,是最常用的跨平臺圖形界面編程框架之一。代碼不用修改,就能同時運行在windows、linux、ios、andriod等平臺。因此,對芯片設計行業來說,既可以
    的頭像 發表于 05-05 14:41 ?1725次閱讀
    如何用<b class='flag-5'>PyQt5</b>做圖形<b class='flag-5'>界面</b>(一)

    使用pycharm開發上位機配置pyqt5的環境

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

    基于PyQT5與ONNXRUNTIME實現風格遷移應用

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

    如何快速開發出功能強大、界面美觀的GUI 應用程序

    1. 介紹 Python GUI 常用的 3 種框架是:Tkinter、wxpython、PyQt5 PyQt5 基于 Qt,是 Python 和 Qt 的結合體,可以用 Python 語言編寫跨
    的頭像 發表于 11-02 14:45 ?3489次閱讀
    如何快速開發出功能強大、<b class='flag-5'>界面</b>美觀的GUI 應用程序
    主站蜘蛛池模板: 2021精品国产综合久久 | 精品午夜久久影视 | japanese日本护士xx亚洲 | 四虎国产精品视频免费看 | 在线观看免费视频一区 | 欧美日a | 四虎影院永久在线观看 | 国模精品| 久久精品大全 | 久久精品免看国产 | 网站免费黄 | 中文天堂在线观看 | 888米奇在线视频四色 | 久久99精品久久久久久牛牛影视 | 黄色a三级免费看 | 欧美三级免费网站 | 色色免费| 一级免费黄色片 | 亚洲黄页网站 | 伊人一区二区三区 | 亚洲天天做日日做天天欢毛片 | 欧美成人免费全部观看天天性色 | 黄色在线 | 视频在线精品 | 日本不卡毛片一二三四 | 国内精品99| 久综合网 | 第四色成人网 | 国内精品免费视频精选在线观看 | 黄色免费网站在线播放 | 高清欧美色欧美综合网站 | 午夜免费啪在线观看视频网站 | 在线www天堂资源网 在线播放 你懂的 | 欧美在线bdsm调教一区 | 国产成人啪精品午夜在线观看 | tom影院亚洲国产一区二区 | 女女同免费播放毛片 | 国产色啪午夜免费视频 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲综合色色图 | 26uuu欧美日本|