# yolov8目标检测APP **Repository Path**: sang-ruikun/yolov8-object-detection-app ## Basic Information - **Project Name**: yolov8目标检测APP - **Description**: 本项目是一个基于Tkinter和OpenCV的目标检测应用程序,实现了摄像头和视频文件的实时目标检测。通过YOLOv8模型进行目标检测,支持定位、分割和姿势三种模型类型,以及不同模型大小。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 131 - **Created**: 2024-06-18 - **Last Updated**: 2024-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yolov8目标检测APP ## 项目描述 本项目是一个基于Tkinter和OpenCV的目标检测应用程序,实现了摄像头和视频文件的实时目标检测。通过YOLOv8模型进行目标检测,支持定位、分割和姿势三种模型类型,以及不同模型大小。 ## 项目运行效果截图 ![输入图片说明](trainyolov8n.png) ![输入图片说明](trainyolov8s.png) ![输入图片说明](yolov8s.png) ![输入图片说明](seg.png) ![输入图片说明](pose.png) ## 功能 - 支持摄像头和视频文件的实时目标检测 - 支持定位、分割和姿势三种模型类型 - 支持不同模型大小 - 支持在视频上显示边界框和遮罩 - 支持暂停、播放和重新播放视频文件 - 支持目标检测的开始/停止 ## 依赖 - Python 3 - OpenCV - Tkinter - ultralytics YOLO ## 使用 1. 克隆项目到本地 2. 创建conda虚拟环境 3. 安装依赖 4. 运行项目 `python obj_tkinterapp.py` 5. 我只在本地GPU环境下训练了yolov8n,s,m.pt,如果需要训练其他模型请按照下面步骤进行。 6. 进入train.py文件,修改模型加载代码的模型名,运行train.py即可。 7. 如果需要使用其他数据集来训练不同需求的模型,则注意在yaml文件中修改对应代码 ## 注意 - 要解压`video_imgs.zip` - 要自行下载`yolov8`的预训练权重文件 - 确保摄像头可用且没有被其他应用程序占用 - 确保视频文件格式正确且路径合法 - 在选择模型类型和大小时,确保模型文件存在于项目目录的“weights”文件夹下 - 上传Jupyter Notebook:XXX.ipynb - 确保utils.py里面的process_frame函数最后需要转回BGR格式,这样才能避免将红色识别为蓝色 ## 个人信息 - 学号: 202152320117 - 年级: 2021 - 专业: 智能科学与技术 - 班级: 一 班