pyQt5实现目的检测可视化001

打印 上一主题 下一主题

主题 862|帖子 862|积分 2586

1.实验目的

由于近来开题答辩,需要进行可视化展示,于是学习了qt5进行可视化界面展示,这个有点像web前端,也有点像vue,以是还是蛮好玩的,想深入学习的朋侪建议多加看看B站等专门体系讲讲课程,少走弯路,祝学习进步,每天开心~
2.实验情况搭建



  • 深度学习情况搭建anaconda+pycharm+NVIDA显卡驱动+cuda+cudnn+ pytorch(肯定要版本对应,不然bug一堆);
  • pyQt5安装移机三大工具配置,这个可以百度下,很简朴;
3.开始编写ui

以一个程序为例
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ui version="4.0">
  3. <class>MainWindow</class>
  4. <widget class="QMainWindow" name="MainWindow">
  5.   <property name="geometry">
  6.    <rect>
  7.     <x>0</x>
  8.     <y>0</y>
  9.     <width>800</width>
  10.     <height>600</height>
  11.    </rect>
  12.   </property>
  13.   <property name="windowTitle">
  14.    <string>MainWindow</string>
  15.   </property>
  16.   <widget class="QWidget" name="centralwidget">
  17.    <widget class="QLabel" name="label">
  18.     <property name="geometry">
  19.      <rect>
  20.       <x>190</x>
  21.       <y>45</y>
  22.       <width>481</width>
  23.       <height>61</height>
  24.      </rect>
  25.     </property>
  26.     <property name="font">
  27.      <font>
  28.       <family>黑体</family>
  29.       <pointsize>26</pointsize>
  30.      </font>
  31.     </property>
  32.     <property name="text">
  33.      <string>智能动态视觉柜异物检测系统</string>
  34.     </property>
  35.    </widget>
  36.   </widget>
  37.   <widget class="QMenuBar" name="menubar">
  38.    <property name="geometry">
  39.     <rect>
  40.      <x>0</x>
  41.      <y>0</y>
  42.      <width>800</width>
  43.      <height>23</height>
  44.     </rect>
  45.    </property>
  46.   </widget>
  47.   <widget class="QStatusBar" name="statusbar"/>
  48. </widget>
  49. <resources/>
  50. <connections/>
  51. </ui>
复制代码
PS:记得把你的图片和你的qrc,以及*rc.py文件放一起

4.转为python程序


按照上方操作做即可,不需要自己专门去写python代码的,那些都是ui工程师做的,我们只需要在qtdesigner中布局好就ok.
5.运行窗口

  1. # -*- coding: utf-8 -*-
  2. # Form implementation generated from reading ui file 'MainWindow2.ui'
  3. #
  4. # Created by: PyQt5 UI code generator 5.15.9
  5. #
  6. # WARNING: Any manual changes made to this file will be lost when pyuic5 is
  7. # run again.  Do not edit this file unless you know what you are doing.
  8. from PyQt5 import QtCore, QtGui, QtWidgets
  9. import carbinet_rc
  10. import exit_rc
  11. import img1_rc
  12. import jump_rc
  13. class Ui_MainWindow(object):
  14.     def setupUi(self, MainWindow):
  15.         MainWindow.setObjectName("MainWindow")
  16.         MainWindow.resize(857, 745)
  17.         self.centralwidget = QtWidgets.QWidget(MainWindow)
  18.         self.centralwidget.setEnabled(True)
  19.         self.centralwidget.setObjectName("centralwidget")
  20.         self.label = QtWidgets.QLabel(self.centralwidget)
  21.         self.label.setGeometry(QtCore.QRect(40, 10, 551, 51))
  22.         font = QtGui.QFont()
  23.         font.setFamily("Agency FB")
  24.         font.setPointSize(36)
  25.         self.label.setFont(font)
  26.         self.label.setStyleSheet("color : rgb(255, 170, 255)\n"
  27. "font: 17pt "黑体";")
  28.         self.label.setObjectName("label")
  29.         self.horizontalSlider = QtWidgets.QSlider(self.centralwidget)
  30.         self.horizontalSlider.setGeometry(QtCore.QRect(70, 240, 160, 22))
  31.         self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
  32.         self.horizontalSlider.setObjectName("horizontalSlider")
  33.         self.label_2 = QtWidgets.QLabel(self.centralwidget)
  34.         self.label_2.setGeometry(QtCore.QRect(10, 240, 54, 12))
  35.         self.label_2.setObjectName("label_2")
  36.         self.pushButton = QtWidgets.QPushButton(self.centralwidget)
  37.         self.pushButton.setGeometry(QtCore.QRect(280, 250, 141, 23))
  38.         self.pushButton.setObjectName("pushButton")
  39.         self.label_3 = QtWidgets.QLabel(self.centralwidget)
  40.         self.label_3.setGeometry(QtCore.QRect(320, 80, 61, 20))
  41.         self.label_3.setObjectName("label_3")
  42.         self.label_4 = QtWidgets.QLabel(self.centralwidget)
  43.         self.label_4.setGeometry(QtCore.QRect(600, 80, 54, 12))
  44.         self.label_4.setObjectName("label_4")
  45.         self.label_5 = QtWidgets.QLabel(self.centralwidget)
  46.         self.label_5.setGeometry(QtCore.QRect(0, 160, 91, 31))
  47.         self.label_5.setObjectName("label_5")
  48.         self.toolButton_2 = QtWidgets.QToolButton(self.centralwidget)
  49.         self.toolButton_2.setGeometry(QtCore.QRect(120, 170, 111, 18))
  50.         self.toolButton_2.setObjectName("toolButton_2")
  51.         self.label_6 = QtWidgets.QLabel(self.centralwidget)
  52.         self.label_6.setGeometry(QtCore.QRect(240, 120, 211, 121))
  53.         self.label_6.setStyleSheet("background-color: rgb(85, 255, 255);")
  54.         self.label_6.setText("")
  55.         self.label_6.setObjectName("label_6")
  56.         self.label_7 = QtWidgets.QLabel(self.centralwidget)
  57.         self.label_7.setGeometry(QtCore.QRect(530, 120, 211, 121))
  58.         self.label_7.setStyleSheet("background-color: rgb(85, 255, 255);")
  59.         self.label_7.setText("")
  60.         self.label_7.setObjectName("label_7")
  61.         self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
  62.         self.pushButton_2.setGeometry(QtCore.QRect(310, 290, 75, 23))
  63.         self.pushButton_2.setObjectName("pushButton_2")
  64.         self.label_8 = QtWidgets.QLabel(self.centralwidget)
  65.         self.label_8.setGeometry(QtCore.QRect(0, 300, 71, 16))
  66.         self.label_8.setObjectName("label_8")
  67.         self.horizontalSlider_2 = QtWidgets.QSlider(self.centralwidget)
  68.         self.horizontalSlider_2.setGeometry(QtCore.QRect(70, 300, 160, 22))
  69.         self.horizontalSlider_2.setOrientation(QtCore.Qt.Horizontal)
  70.         self.horizontalSlider_2.setObjectName("horizontalSlider_2")
  71.         self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
  72.         self.pushButton_3.setGeometry(QtCore.QRect(760, 90, 75, 23))
  73.         icon = QtGui.QIcon()
  74.         icon.addPixmap(QtGui.QPixmap(":/exit/exit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
  75.         self.pushButton_3.setIcon(icon)
  76.         self.pushButton_3.setObjectName("pushButton_3")
  77.         self.label_9 = QtWidgets.QLabel(self.centralwidget)
  78.         self.label_9.setGeometry(QtCore.QRect(0, -40, 871, 711))
  79.         self.label_9.setText("")
  80.         self.label_9.setPixmap(QtGui.QPixmap(":/img1/img1.jpg"))
  81.         self.label_9.setObjectName("label_9")
  82.         self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
  83.         self.pushButton_4.setGeometry(QtCore.QRect(100, 390, 121, 23))
  84.         self.pushButton_4.setStyleSheet("icon:url(:/jump/jump.png)")
  85.         icon1 = QtGui.QIcon()
  86.         icon1.addPixmap(QtGui.QPixmap(":/jump/jump.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
  87.         self.pushButton_4.setIcon(icon1)
  88.         self.pushButton_4.setObjectName("pushButton_4")
  89.         self.label_10 = QtWidgets.QLabel(self.centralwidget)
  90.         self.label_10.setGeometry(QtCore.QRect(20, 390, 61, 20))
  91.         self.label_10.setObjectName("label_10")
  92.         self.label_9.raise_()
  93.         self.label.raise_()
  94.         self.horizontalSlider.raise_()
  95.         self.label_2.raise_()
  96.         self.pushButton.raise_()
  97.         self.label_3.raise_()
  98.         self.label_4.raise_()
  99.         self.label_5.raise_()
  100.         self.toolButton_2.raise_()
  101.         self.label_6.raise_()
  102.         self.label_7.raise_()
  103.         self.pushButton_2.raise_()
  104.         self.label_8.raise_()
  105.         self.horizontalSlider_2.raise_()
  106.         self.pushButton_3.raise_()
  107.         self.pushButton_4.raise_()
  108.         self.label_10.raise_()
  109.         MainWindow.setCentralWidget(self.centralwidget)
  110.         self.menubar = QtWidgets.QMenuBar(MainWindow)
  111.         self.menubar.setGeometry(QtCore.QRect(0, 0, 857, 23))
  112.         self.menubar.setObjectName("menubar")
  113.         MainWindow.setMenuBar(self.menubar)
  114.         self.retranslateUi(MainWindow)
  115.         self.pushButton_3.clicked.connect(MainWindow.close) # type: ignore
  116.         QtCore.QMetaObject.connectSlotsByName(MainWindow)
  117.     def retranslateUi(self, MainWindow):
  118.         _translate = QtCore.QCoreApplication.translate
  119.         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  120.         self.label.setText(_translate("MainWindow", "智能视觉柜动态识别系统"))
  121.         self.label_2.setText(_translate("MainWindow", "IOU:"))
  122.         self.pushButton.setText(_translate("MainWindow", "上传图片/视频"))
  123.         self.label_3.setText(_translate("MainWindow", "图片展示区"))
  124.         self.label_4.setText(_translate("MainWindow", "识别结果"))
  125.         self.label_5.setText(_translate("MainWindow", "请选择权重文件:"))
  126.         self.toolButton_2.setText(_translate("MainWindow", "请选择权重文件"))
  127.         self.pushButton_2.setText(_translate("MainWindow", "拍照"))
  128.         self.label_8.setText(_translate("MainWindow", "Confidence:"))
  129.         self.pushButton_3.setText(_translate("MainWindow", "退出系统"))
  130.         self.pushButton_4.setText(_translate("MainWindow", "1.视频检测页面"))
  131.         self.label_10.setText(_translate("MainWindow", "其他页面:"))
  132. if __name__ == '__main__':
  133.     import sys
  134.     app = QtWidgets.QApplication(sys.argv)
  135.     MainWindow = QtWidgets.QMainWindow()
  136.     ui = Ui_MainWindow()
  137.     ui.setupUi(MainWindow)
  138.     MainWindow.show()
  139.     sys.exit(app.exec_())
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表