OpenCV:我如何编写视频,为什么我的框架卡住了?

时间:2017-06-20 15:43:35

标签: python-2.7 opencv

我正在尝试获取视频流并使用OpenCV和python-2.7保存它。但是当我运行程序时,它会停留在一帧上,关闭后视频会被破坏。

原因是什么?

这是我尝试的代码。

import cv2
import numpy as np

cap=cv2.VideoCapture(0)
fourcc=cv2.VideoWriter_fourcc(*'XVID')
out=cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))

while True:
  ret,frame=cap.read()
  out.write(frame)
  cv2.imshow('Frame',frame)
  if cv2.waitKey(0) & 0xFF == ord('q'):
    break
cap.release()
out.release()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:1)

问题出在最后按下按钮。

你有

if cv2.waitKey(0) & 0xFF == ord('q'):

应该是

if cv2.waitKey(1) & 0xFF == ord('q'):

设置0将导致代码到达该点,然后在该行上等待永远。 放1允许它等待1毫秒,然后继续前进,如果它没有发生。

在文档here中有关于此的更多信息。