OpenCv - cv2.VideoWriter对象没有属性释放



我在Linux 64位机器上使用OpenCV与python 2.7.3。我想从我的罗技C270中获取帧并将其存储为AVI视频。代码工作得很好,它还向我展示了捕获的视频,并创建了输出文件。但是当我尝试播放文件时,它根本没有播放,因为我得到了cv2。VideoWriter对象在终端上没有属性释放错误。所以,如果有人能告诉我如何释放cv2。VideoWriter完成后。

import numpy as np
import cv2
cap = cv2.VideoCapture(1)
fourcc = cv2.cv.CV_FOURCC('X','V','I','D')
out = cv2.VideoWriter('output.avi', fourcc, 20.0,(640,480))
while(True):
    ret, frame = cap.read()
    if cap.isOpened() == 0:
        cap.open(1)
    if ret==True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        out.write(gray)
        cv2.imshow('frame',gray)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
out.release()
cv2.destroyAllWindows()

不使用下面的行:

fourcc = cv2.cv.CV_FOURCC('X','V','I','D')
out = cv2.VideoWriter('output.avi', fourcc, 20.0,(640,480))

使用那些:

fourcc = cv2.VideoWriter_fourcc(*'DIVX')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (int(cap.get(3)),int(cap.get(4))))

我想这会对你有帮助。

不使用这一行

fourcc = cv2.cv.CV_FOURCC('X','V','I','D')

用这个

fourcc = cv2.VideoWriter_fourcc(*'XVID')

相关内容

  • 没有找到相关文章

最新更新