Python代码使用PyQt5制作界面并封装

目录

续:https://blog.csdn.net/yulinxx/article/details/93344163

若要对此程序进行封装,加个界面,然后制作成 EXE
使用 PyQt5 制作界面,PyInstaller 进行封装成 EXE
在这里插入图片描述
可参考:

Python制作小软件——1. 安装并使用 PyQt5 进行界面设计
https://blog.csdn.net/weixin_41929524/article/details/81456308

Python制作小软件——2. 实现界面中的退出功能
https://blog.csdn.net/weixin_41929524/article/details/81460203

Python制作小软件——3. 利用PyQt5实现界面中的功能
https://blog.csdn.net/weixin_41929524/article/details/81475935

Python制作小软件——4. 利用PyInstaller打包成exe文件
https://blog.csdn.net/weixin_41929524/article/details/81484806
————————————————

参考链接

[1] Python代码使用PyQt5制作界面并封装 2019.6

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一份基于Python语言和PyQt5库的YOLOv5可视化界面代码示例: ```python import sys import os import cv2 import numpy as np from PyQt5.QtCore import Qt from PyQt5.QtGui import QImage, QPixmap from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QFileDialog from yolov5 import YOLOv5Detector # 假设YOLOv5Detector是你自己实现的YOLOv5检测器类 class YOLOv5Demo(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 设置窗口标题和大小 self.setWindowTitle('YOLOv5 Demo') self.setGeometry(100, 100, 800, 600) # 创建标签和按钮控件 self.image_label = QLabel(self) self.image_label.setAlignment(Qt.AlignCenter) self.image_label.resize(600, 450) self.detect_btn = QPushButton('Detect', self) self.detect_btn.move(650, 100) self.detect_btn.resize(100, 50) self.detect_btn.clicked.connect(self.detect) self.open_btn = QPushButton('Open Image', self) self.open_btn.move(650, 200) self.open_btn.resize(100, 50) self.open_btn.clicked.connect(self.open_image) # 初始化YOLOv5检测器 self.detector = YOLOv5Detector() # 显示窗口 self.show() def open_image(self): # 打开文件选择对话框 fname, _ = QFileDialog.getOpenFileName(self, 'Open Image', '.', 'Image files (*.jpg *.jpeg *.png *.bmp)') if fname: # 读取图像文件并显示 image = cv2.imread(fname) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) self.show_image(image) def detect(self): # 获取当前显示的图像 image = self.get_image() if image is None: return # 进行YOLOv5检测 results = self.detector.detect(image) # 在图像上绘制检测结果 for result in results: label = result['label'] score = result['score'] xmin, ymin, xmax, ymax = result['bbox'] cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2) cv2.putText(image, f'{label}:{score:.2f}', (xmin, ymin - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) # 显示带有检测结果的图像 self.show_image(image) def get_image(self): # 从标签控件中获取当前显示的图像 pixmap = self.image_label.pixmap() if pixmap is not None: return pixmap.toImage().constBits().asarray( pixmap.width() * pixmap.height() * pixmap.depth() // 8).reshape((pixmap.height(), pixmap.width(), pixmap.depth() // 8))[:, :, :3] else: return None def show_image(self, image): # 将图像转换为QImage格式并显示在标签控件中 image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) h, w, c = image.shape qimage = QImage(image.data, w, h, w * c, QImage.Format_RGB888) pixmap = QPixmap.fromImage(qimage) scaled_pixmap = pixmap.scaled(self.image_label.width(), self.image_label.height(), Qt.KeepAspectRatio) self.image_label.setPixmap(scaled_pixmap) if __name__ == '__main__': app = QApplication(sys.argv) demo = YOLOv5Demo() sys.exit(app.exec_()) ``` 这份代码实现了一个简单的YOLOv5可视化界面,用户可以通过点击“Open Image”按钮打开一张图像文件,然后点击“Detect”按钮进行YOLOv5检测,并在图像上绘制检测结果。其中`YOLOv5Detector`类是一个假定的类名,需要根据实际情况替换为你自己实现的YOLOv5检测器类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值