使用 PySide6/QT 实现 YOLOv8 可视化 GUI 页面
在人工智能和计算机视觉领域,YOLO(You Only Look Once)是一种广泛使用的实时目标检测算法。为了直观地展示 YOLO 算法的检测效果,我们可以使用 Python 中的 PySide6 库来创建一个简单的 GUI 应用程序,将检测结果实时可视化。
本文将指导你如何使用 PySide6 实现这一功能。
一、工具介绍
1. PySide6
PySide6 是一款功能强大的 GUI(图形用户界面)开发框架,它允许 Python 开发者使用 Qt 库的功能来构建跨平台的桌面应用程序。PySide6 作为 Qt 的 Python 绑定版本,继承了 Qt 的跨平台特性,支持在 Windows、macOS、Linux 等多种操作系统上开发和部署应用程序。其具有以下特点:
- 丰富的组件库:提供了大量的 GUI 控件和布局管理器,如按钮、文本框、下拉框、复选框等,以及 QGridLayout、QFormLayout、QStackedLayout 等多种布局方式。
- 高性能:基于 Qt 6 的底层实现,保证了应用程序的性能和响应速度。
- 灵活的事件处理机制:能够处理各种用户输入事件,如鼠标点击、键盘输入等。
- 官方维护与支持:是 Qt 公司官方维护的 Python 绑定版本。
2. OpenCV
OpenCV(Open Source Computer Vision Library)是一个广泛使用的开源计算机视觉库,提供了丰富的图像和视频处理功能,以及一些机器学习算法。广泛应用于人脸识别、物体识别、图像分析、视频压缩及深度学习任务等场景。
二、环境准备
利用 pip 工具进行依赖项安装(也可以利用 Anaconda 进行依赖包安装),要求 python≥3.8。具体步骤如下:
1. 安装 ultralytics 包
打开终端或命令行,输入以下代码:
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
在 ultralytics 包里,会自动安装适配当前版本的 torch。也可以根据自己的需要安装对应的 torch 版本:
pip install torch=2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 安装 PySide6 工具包
pip install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple
3. 安装 OpenCV 工具包
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
如果需要额外的功能模块(如 xfeatures2d、stitching 等),可以安装 opencv-contrib-python:
pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple
三、导入必要的库
在你的 Python 脚本中,导入所需的库:
import os
from datetime import datetime
import json
import cv2
import torch
from PySide6.QtCore pyqtSlot, Qt, QDir, QTimer
PySide6.QtGui QIcon, QImage, QPixmap
PySide6.QtWidgets QApplication, QMainWindow, QLabel, QPushButton, QTextBrowser, QFileDialog, QSlider, QDoubleSpinBox, QVBoxLayout, QHBoxLayout, QWidget
ultralytics YOLO


