## 基于YOLOV5的目标检测系统
>2023年智能制造系统课设作业

### Feature
1. 两种模式切换
- 普通检测模式
- 区域检测模式
2. 三种检测方式
- 图片检测
- 视频检测
- 摄像头检测
---
### 代码执行前准备
1、项目中使用YOLOv5的`V5.0`版本,注意下载对应权重文件时需要选择[5.0版本](https://github.com/ultralytics/yolov5/releases/v5.0)
2、项目运行时出现如下错误

!问题原因为旧版本的函数方法弃用,但不影响使用,可忽略。消除警告只需要main.py添加如下代码即可
```py
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
```
3、界面文件是`project.ui`,可使用QTDesigner打开修改
4、环境依赖
```
pip install -r requirements.txt
python main.py
```
---
### 目标区域检测的实现
> **说明:** 以下仅对`图片区域检测`进行说明。视频检测和摄像头检测同理,过程不赘述。
#### 思路
要实现对部分区域的检测效果,需要对原始图片不需要检测的部分进行遮挡,然后再进行检测。为实现以下效果,需要以下步骤。

#### 具体代码
>代码位置位于本例程的`main.py`文件中的274行
```py
# 对输入的图片设置mask并对输出图片画出mask区域
if self.state:
hl1 = 2 / 10 # 监测区域高度距离图片顶部比例
wl1 = 2 / 10 # 监测区域高度距离图片左部比例
hl2 = 2 / 10 # 监测区域高度距离图片顶部比例
wl2 = 8 / 10 # 监测区域高度距离图片左部比例
hl3 = 8 / 10 # 监测区域高度距离图片顶部比例
wl3 = 8 / 10 # 监测区域高度距离图片左部比例
hl4 = 8 / 10 # 监测区域高度距离图片顶部比例
wl4 = 2 / 10 # 监测区域高度距离图片左部比例
# 输入图片设置mask遮挡
# mask位置数组
pts = np.array([[int(img.shape[1] * wl1), int(img.shape[0] * hl1)], # pts1
[int(img.shape[1] * wl2), int(img.shape[0] * hl2)], # pts2
[int(img.shape[1] * wl3), int(img.shape[0] * hl3)], # pts3
[int(img.shape[1] * wl4), int(img.shape[0] * hl4)]], np.int32)
# 2通道全0数组 ---mask
mask_black = np.zeros(img.shape[:2], dtype=np.uint8)
# mask区域设置
mask_roi = cv2.fillPoly(mask_black, [pts], color=(255, 255, 255))
# 图片叠加mask
img = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask_roi)
# 对输出结果绘制mask区域
cv2.putText(showimg, "MASK", (int(showimg.shape[1] * wl1 - 5), int(showimg.shape[0] * hl1 - 5)),
cv2.FONT_HERSHEY_SIMPLEX,
1.0, (255, 255, 0), 2, cv2.LINE_AA)
# 填充mask设置
# 3通道全0数组
zeros = np.zeros(showimg.shape, dtype=np.uint8)
mask = cv2.fillPoly(zeros, [pts], color=(0, 165, 255))
showimg = cv2.addWeighted(showimg, 1, mask, 0.2, 0)
# 绘制mask边界
cv2.polylines(showimg, [pts], True, (255, 255, 0), 3)
```
#### 过程图展示

---
### 效果展示
> **说明:** 本例程中测试文件来源于网络,左侧为普通模式,右侧ROI模式
#### 图片检测
<center>
<img src="img/car_res.png" width=45%>
<img src="img/car_res_ROI.png" width=45%>
</center>
#### 视频检测
<center>
<img src="img/dance_res.gif" width=45%>
<img src="img/dance_res_ROI.gif" width=45%>
</center>
---
### 参考文献
- https://blog.csdn.net/qq_39740357/article/details/125149010
- https://blog.csdn.net/zcblcz/article/details/121508369
- https://zhuanlan.zhihu.com/p/658876215
- https://blog.csdn.net/m0_58508552/article/details/126196795?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22
没有合适的资源?快使用搜索试试~ 我知道了~
基于yolov5的目标区域监测源码+视频演示+详细说明.zip

共89个文件
yaml:25个
py:25个
png:10个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 4 浏览量
2024-04-24
18:23:36
上传
评论
收藏 258.12MB ZIP 举报
温馨提示
两种模式切换 普通检测模式 区域检测模式 三种检测方式 图片检测 视频检测 摄像头检测 代码执行前准备 1、项目中使用YOLOv5的V5.0版本,注意下载对应权重文件时需要选择5.0版本 2、项目运行时出现如下错误 warning.png !问题原因为旧版本的函数方法弃用,但不影响使用,可忽略。消除警告只需要main.py添加如下代码即可 import warnings warnings.filterwarnings("ignore", category=DeprecationWarning) 3、界面文件是project.ui,可使用QTDesigner打开修改 4、环境依赖 pip install -r requirements.txt python main.py 目标区域检测的实现 说明: 以下仅对图片区域检测进行说明。视频检测和摄像头检测同理,过程不赘述。 思路 要实现对部分区域的检测效果,需要对原始图片不需要检测的部分进行遮挡,然后再进行检测。为实现以下效果,需要以下步骤。
资源推荐
资源详情
资源评论




























收起资源包目录








































































































共 89 条
- 1
资源评论


海神之光.
- 粉丝: 6118
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【多变量时间序列预测】MATLAB实现基于VGF-Transformer 变量门控融合机制( VGF)结合 Transformer 编码器进行多变量时间序列预测的详细项目实例(含完整的程序,GUI设计
- MATLAB实现基于TCNDecoder-Transformer 时间卷积解码器结构(TCNDecoder)结合 Transformer 编码器进行多变量时间序列预测的详细项目实例(含完整的程序,GU
- 前端开发前端工程师与AI开发融合实战:技能储备、项目解析及未来趋势
- 国赛电赛旋转倒立摆控制系统-PID算法实现与优化
- 【c++管理系统源码】用c++实现的仓库管理系统的源代码,可供学习参考,内有详细的代码说明文档,需要的下载!
- Android Studio中利用Lottie实现动画效果
- 汇川H3U CAN总线PLC五轴伺服控制与MODBUS温控程序详解
- 四轮轮毂电机驱动车辆故障状态估计的UKF算法实现与Simulink建模
- 电力系统领域中基于最小二乘法与快速解耦法的电网状态估计及其MATLAB实现
- 基于立创·庐山派K230的红色激光点识别和锁定追踪
- jdk-7u2-linux-x64.tar.gz jdk-7u80-linux-x64.rpm
- 专注于深度学习工程应用的应用框架
- 使用Perl::PDQ分析计算机系统性能
- 电力系统中储能调频调峰联合优化运行及其经济效益分析 必备版
- 这篇文章是关于Java编程语言的基础知识和高级特性的详细讲解,涵盖了从Java的基础语法到面向对象编程、异常处理、集合框架、图形用户界面(GUI)、网络编程等多个方面的内容 以下是文章的主要内容总结:
- 插电式混合动力汽车能量管理优化:投影内点法与ADMM算法的对比研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
