赞
踩
if ‘youtube.com/’ in url or ‘youtu.be/’ in url: # if source is YouTube videoTypeError: argument of type ‘int’ is not iterable
当我在使用yolov5中的detect.py文件调用摄像头时报了这个错误,我们需要在datasets.py文件中找到下面这行代码:
if 'youtube.com/' in url or 'youtu.be/' in url: # if source is YouTube video
check_requirements(('pafy', 'youtube_dl'))
import pafy
url = pafy.new(url).getbest(preftype="mp4").url
cap = cv2.VideoCapture(url)
将url改成str类型
if 'youtube.com/' in str(url) or 'youtu.be/' in str(url): # if source is YouTube video
check_requirements(('pafy', 'youtube_dl'))
import pafy
url = pafy.new(url).getbest(preftype="mp4").url
cap = cv2.VideoCapture(url)
我个人使用方法一之后依旧报错,需要修改这两处代码
第一处:
第二处:进行如下修改
# time.sleep(1 / self.fps) # wait time
if (self.fps != 0): time.sleep(1 / self.fps)
使用上面的两个方法就能顺利调用摄像头了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。