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

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

    瀏覽量

    41365
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84721

原文標題: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 ?2604次閱讀

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

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

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

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

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

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

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

    PyQt是Python版本的Qt庫,是最常用的跨平臺圖形界面編程框架之一。代碼不用修改,就能同時運行在windows、linux、ios、andriod等平臺。因此,對芯片設計行業來說,既可以
    的頭像 發表于 05-05 14:41 ?1666次閱讀
    如何用<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 ?529次閱讀
    基于<b class='flag-5'>PyQT5</b>與ONNXRUNTIME實現風格遷移應用

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

    1. 介紹 Python GUI 常用的 3 種框架是:Tkinter、wxpython、PyQt5 PyQt5 基于 Qt,是 Python 和 Qt 的結合體,可以用 Python 語言編寫跨
    的頭像 發表于 11-02 14:45 ?3357次閱讀
    如何快速開發出功能強大、<b class='flag-5'>界面</b>美觀的GUI 應用程序
    主站蜘蛛池模板: 欧式午夜理伦三级在线观看| 亚洲精品久久久久AV无码林星阑| 伊人网综合在线观看| 和美女啪啪啪动态图| 曰批国产精品视频免费观看| 免费视频网站嗯啊轻点| 姑娘视频日本在线播放| 亚洲精品高清在线观看| 毛片在线网址| 公粗挺进了我的密道在线播放贝壳 | 北条麻妃夫の友人196| 四房播播最新地址| 久久er国产精品免费观看2| a视频在线观看| 迅雷成人论坛| 免费精品国偷自产在线| 国产精品第100页| 2018国产天天弄谢| 偷偷要色偷偷| 恋老视频 国产国佬| 国产精品无码无卡毛片不卡视| 综合人妻久久一区二区精品| 色噜噜狠狠色综合欧洲| 麻豆产精品一二三产区区| 国产成人在线播放| 97超在线视频| 亚洲天堂2017无码| 手机毛片在线观看| 免费三级现频在线观看| 果冻传媒2021在线观看| 纯肉巨黄H爆粗口男男分卷阅读| 伊人国产在线观看| 无码AV熟妇素人内射V在线| 蜜芽亚洲欧美一区二区电影| 国产揄拍国产精品| 干了快生了的孕妇| 98久久人妻无码精品系列蜜桃| 亚洲国产高清在线观看视频| 日本无码色哟哟婷婷最新网站 | 97影院理论午夜伦不卡偷| 亚洲欧美精品无码大片在线观看 |