我目前正在做一个运动检测项目,在检测到运动时记录视频。录制视频时出错。
这是以下错误:
错误:(-215)img.cols == width&& img.rows == height&&函数cv :: mjpeg :: MotionJpegWriter :: write
中的channels == 3
这是我的代码:
def takevid():
答案 0 :(得分:0)
您的问题是变量frame
的范围。您需要在while循环外声明帧,只在文件中全局声明,或者将其作为参数传递给takevid
。目前frame
仅在while循环中可用,但是当您调用takevid
时,只能访问全局范围(即camera
),而不能访问while循环。
错误告诉您frame
的大小错误,并且您很可能会发现形状为(0,0)
,因为该变量中没有任何内容。