【发布时间】:2018-08-08 13:48:45
【问题描述】:
请帮助我理解为什么使用 Opencv 录制的视频如此缓慢。它不反映快速运动。 例如,如果我移动相机,则视频中的移动速度太慢。另外,虽然我在镜头前展示了一张照片大约 2 秒钟,但我并没有在录像中看到这张照片。
谁能解释一下这里发生了什么。 这是我的简单代码:
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output2.avi',fourcc, 30.0, (640,480))
while (True):
camera.capture(stream, use_video_port=True, format='jpeg')
stream.seek(0)
imageData = np.fromstring(stream.getvalue(), dtype=np.uint8)
npImage = cv2.imdecode(imageData, 1)
out.write(npImage)
stream.close()
【问题讨论】:
-
不确定它的作用,但你真的想要/必须使用 camera.capture(stream, use_video_port=True, format='jpeg') stream.seek(0) 和 stream.close()在循环的每次迭代中?
-
camera.capture() 是从相机获取帧的函数吗?尝试在单独的线程中捕获帧并将其放入队列中,以便在需要时随时访问。我猜这可能会对你有所帮助。
-
感谢您的提示,您能解释一下您的想法吗?
标签: python numpy opencv video computer-vision