使用YOLOv5实现单摄像头实时目标检测

本文介绍了如何实现单摄像头的实时目标检测,包括将源参数默认值改为0以指定摄像头,并提供了遇到TypeError:argumentoftypeintisnotiterable错误的解决方法。此外,还讨论了外接USB摄像头的识别和可能的其他报错,如NoneTypeobjecthasnoattributeshape,并给出了相应的解决建议。文章最后提到了多摄像头和多线程识别的后续内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我将在上一节的基础上,一步一步展示如何实现单摄像头实时目标检测,其中包括我在配置过程中遇到的报错和解决方法。

实现单摄像头实时目标检测

  1. 将'--source'的默认值改为0

parser.add_argument('--source', type=str, default='0',help='file/dir/URL/glob, 0 for webcam')

这里的'0'是指系统默认的第一个摄像头,通常是电脑自带的摄像头,所以一定要记得把摄像头打开再运行代码(有些电脑会有摄像头物理开关,也记得打开)

  1. 这个时候很可能会出现TypeError: argument of type 'int' is not iterable报错

解决方法:

在datasets.py中第279行代码,给两个url参数加上str就可以了

  1. 运行detect.py

  1. 红线处表明摄像头视野内识别到了一个人,识别时间为0.006秒

  1. 英文小写输入状态下,长按键盘上的 'q' 可以结束识别

  1. 识别结果会以视频形式保存到如下路径

注意,要点击一下实时检测窗口,切换到英文小写输入法再按"q"才能正常退出并保存检测视频(强行结束程序可能会导致视频格式错误)

外接USB摄像头实时目标检测

如果外接多个USB摄像头,将'--source'的默认值值依次改为1、2、3…(分别对应系统默认第2、3、4个摄像头)运行即可,但是这样只能打开单个摄像头进行识别,如何同时打开多个摄像头,实现多线程单网络识别,我会在下一篇博客讲到。

parser.add_argument('--source', type=str, default='1',help='file/dir/URL/glob, 0 for webcam')

其他可能的报错

1.运行出现报错:AttributeError: 'NoneType' object has no attribute 'shape'

这种情况往往是之前成功运行了一次,再次运行时出现的报错,是硬件bug,将电脑的摄像头物理开关 先关闭 再打开 重新运行即可。

2.运行出现只能识别第一帧的画面的问题

这个问题我没有遇到,但是评论区有人反映,存在这样的问题。可以参考下面这篇博客进行解决(来自评论区大佬):

https://blog.csdn.net/AlwaysNoError/article/details/123298884?spm=1001.2014.3001.8078

求学路上,你我共勉(๑•̀ㅂ•́)و✧

【资源说明】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载食用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【项目介绍】 基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip 基于ncnn的yolov5部署实现调用摄像头完成目标检测源码(带模型文件+编译方法).zip
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值