YOLOV5 打开摄像头错误:TypeError: argument of type ‘int‘ is not iterable

在运行 yolov5 检测模型时遇到一个问题,当尝试从命令行参数读取 'source' 选项时,由于其默认值为整数 '0',在检查是否为 YouTube 视频链接时引发了 TypeError。错误出现在尝试对整数进行字符串迭代操作。解决方法是将源参数转换为字符串,然后进行字符串包含检查。更新后的代码正确处理了这种情况,避免了类型错误。
摘要由CSDN通过智能技术生成

问题描述

 parser.add_argument('--source', type=str, default='0', help='source')  # file/folder, 0 for webcam

发现打开摄像头出错

Traceback (most recent call last):
  File "H:\PycharmProject\yolov5-5.0\detect.py", line 198, in <module>
    detect()
  File "H:\PycharmProject\yolov5-5.0\detect.py", line 51, in detect
    dataset = LoadStreams(source, img_size=imgsz, stride=stride)
  File "H:\PycharmProject\yolov5-5.0\utils\datasets.py", line 279, in __init__
    if 'youtube.com/' in url or 'youtu.be/' in url:  # if source is YouTube video
TypeError: argument of type 'int' is not iterable

Process finished with exit code 1

解决方案:

if 'youtube.com/' in url or 'youtu.be/' in url:  # if source is YouTube video

修改为字符串型:

  if 'youtube.com/' in str(url) or 'youtu.be/' in str(url):  # if source is YouTube video
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值