基于PyQt5开发一个AI图片识别小工具
时间:2026-06-26 来源:华清远见
本项目功能实现:
图片上传、AI 自动识别、检测框绘制、识别结果展示
整个项目采用:
PyQt5 构建桌面界面、YOLOv8 实现目标检测、OpenCV 进行图像处理
一、项目效果
程序启动后:
点击“选择图片”
自动调用 AI 模型识别
返回检测结果
在界面中显示识别后的图片
支持识别:
人、汽车、手机、动物、日常物体,效果还是比较不错的。
二、项目环境
先安装依赖:
pip install pyqt5
pip install opencv-python
pip install ultralytics
pip install pillow
如果没有安装 torch:
pip install torch
三、项目结构
项目目录如下:
AI_Image_Tool/
│
├── main.py
├── test.jpg
└── yolov8n.pt
其中:
main.py:主程序
test.jpg:测试图片
yolov8n.pt:YOLO模型

四、完整代码实现


五、代码解析
整个项目其实核心只有几个部分。
1. PyQt5 构建界面
这里使用:
QPushButton、QLabel、QVBoxLayout
分别实现:
按钮、图片显示、垂直布局
2. YOLO 模型加载
self.model = YOLO("yolov8n.pt")
加载的是 YOLOv8 官方轻量模型。
优点:
速度快、识别效果不错、对新手友好、第一次运行会自动下载模型。
3. AI 图片识别
results = self.model(file_path)
这一行代码就完成了:
图片读取、AI推理、目标检测、非常方便。
4. 绘制识别结果
result_img = results[0].plot()
plot() 会自动:
绘制检测框、添加类别名称、添加置信度
比如:
person、car、dog等等。
5. PyQt5 显示图片
pixmap = QPixmap(save_path)
然后:
self.label.setPixmap(pixmap)
六、运行效果
运行程序:
python main.py
点击上传图片后:
AI 会自动识别图中的目标。
七、项目优化方向
目前这个小工具只是一个基础版本。
后续还可以继续扩展:
1. 摄像头实时识别
通过:
cv2.VideoCapture(0)
即可实现实时检测。
2. 支持拖拽上传
PyQt5 支持拖拽事件。
用户体验会更好。
3. Dark Theme
可以把界面改成深色风格。
看起来更像专业软件。
4. 打包 exe
安装:
pip install pyinstaller
打包:
pyinstaller -F -w main.py
即可生成 exe 程序。
八、总结
这个项目虽然代码量不大,但完整串联了:Python GUI 开发、AI 模型调用、图像处理、桌面软件开发、对于 Python + AI 入门来说,是一个非常适合练手的小项目。
尤其适合:
Python初学者、PyQt5学习、AI视觉入门、YOLO项目练习、后续还可以继续扩展:、OCR文字识别、人脸识别、视频检测

