YOLOV5 本地摄像头打不开
YOLOV5打开本地摄像头报AttributeError: ‘Upsample’ object has no attribute 'recompute_scale_factor’错误
处理方式:
1、打开报错的这个目录文件upsampling.py
将
def forward(self, input: Tensor) -> Tensor: return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners, recompute_scale_factor=self.recompute_scale_factor)
修改为:
def forward(self, input: Tensor) -> Tensor: return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)
处理完有台机器用可以用。但有另的机器不知道是不是摄头不一样又报以下错误:
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
处理方法:
1、打开utils\dataset.py文件
修改以下代码
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)
修改为:
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)
2、第二处:
将以下代码:
time.sleep(1 / self.fps) # wait time
修改为:
if(self.fps !=0):time.sleep(1 / self.fps) # wait time
打开的设摄像头的方式 python detect.py --source 0
打开后摄像头是黑色的
后面改成 python detect.py --source http://xx//xx.mp4
就可以,不懂为什么后面要跟一个http链接