视频演示
大家好,我是Coding茶水间。今天我来分享一个基于YOLO算法的工具,它可以对视频或图片进行实时目标跟踪和分割。
这个工具使用PyQt5构建界面,核心算法依赖Ultralytics的YOLOv11模型。整个项目简单易上手,适合初学者学习计算机视觉和GUI开发。
所有源码我都会在文章末尾提供。如果你觉得有用,欢迎点赞、收藏和关注我的博客。
有什么问题,可以在评论区留言讨论。
工具概述
这个工具的主要功能是:
- 支持选择本地图片或视频文件。
- 使用YOLOv11模型进行目标检测、跟踪和实例分割。
- 实时显示处理结果,包括边界框、类别标签、置信度和分割掩码。
- 支持保存处理后的图片或视频。
界面使用PyQt5设计,非常简洁,只有四个按钮:选择图片、选择视频、处理和保存结果。运行后,你会看到一个白底窗口,顶部是标题,中间是按钮区,下方是结果展示区域(固定大小800x500),底部有作者信息。
演示效果
视频处理演示
- 点击“选择视频”按钮,浏览本地文件,选择一段视频(例如公路车辆行驶的视频,支持.mp4、.avi、.mov格式)。
- 点击“处理”按钮,工具会使用YOLO模型逐帧处理视频。
- 结果:在展示区域实时播放处理后的视频。
- 每辆车会被边界框包围,不同颜色表示不同的跟踪ID。
- 框上方显示类别(如“car”)和置信度(如“0.85”)。
- 车辆被精准分割,背景与目标分离。

3.处理完成后,点击“保存结果”,弹出保存对话框,输入文件名保存为视频文件。
- 保存后的视频会保留所有分割和跟踪信息,便于后续查看。

图片处理演示
- 点击“选择图片”按钮,选择本地图片(支持.png、.jpg、.jpeg格式,例如一张小狗的照片)。
- 点击“处理”按钮,立即显示处理结果。
- 结果:图片中的目标(如小狗)被精准分割,边界清晰。
- 支持复杂场景,例如边缘人物的边界分割效果良好。


3.点击“保存结果”,保存处理后的图片。
我测试了多张图片,包括人物和动物,YOLOv11n模型(最小模型)在边缘处理上表现不错。如果你用更大模型如YOLOv11m,精度更高,但可能稍卡(取决于电脑配置)。
代码核心原理
工具的核心在于Ultralytics库的solutions模块,它封装了YOLO的实例分割功能。简单来说:
- 初始化分割对象:

