使用 opencv 捕获视频时出错 (python)

Error capturing video with opencv (python)

我目前正在做一个运动检测项目,在检测到运动时录制视频。录制视频时出现错误。

这是以下错误:

error: (-215) img.cols == width && img.rows == height && channels == 3 in function cv::mjpeg::MotionJpegWriter::write

这是我的代码:

def takevid():

你的问题是变量的范围frame。您要么需要在 while 循环之外声明 frame,只是在文件中全局声明,要么将其作为参数传递给 takevid。当前 frame 仅在 while 循环中可用,但是当您调用 takevid 时,只能访问全局范围(即 camera),而不是 while 循环。

错误告诉您 frame 的大小是错误的,并且您很可能会发现形状是 (0,0),因为该变量中没有任何内容。