Can';使用python和OpenCV在Raspberry PI上保存视频

Can';使用python和OpenCV在Raspberry PI上保存视频,python,opencv,python-2.7,raspberry-pi,Python,Opencv,Python 2.7,Raspberry Pi,这段代码有效,但从未停止,也没有保存任何视频文件。有人知道如何解决这个问题吗?非常感谢。两个release()调用都可以删除 import cv import cv2 cap = cv2.VideoCapture(0) cap.set(8,100) out = cv2.VideoWriter('/home/pi/Desktop/output.mp4',cv2.cv.CV_FOURCC('D','I','V','X'),20.0,(640,480)) while(cap.isOpened()):

这段代码有效,但从未停止,也没有保存任何视频文件。有人知道如何解决这个问题吗?非常感谢。

两个release()调用都可以删除

import cv
import cv2
cap = cv2.VideoCapture(0)
cap.set(8,100)
out = cv2.VideoWriter('/home/pi/Desktop/output.mp4',cv2.cv.CV_FOURCC('D','I','V','X'),20.0,(640,480))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        frame = cv2.flip(frame,0)
        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(10) == 27: 
            break
cv2.VideoCapture(0).release()
out.release()
cv2.destroyAllWindows()
在新的视频捕获上调用release(),您的意思是
cap.release()


对于VideoWriter,发布方法并不存在——您不必关心在Python中发布VideoWriter或VideoCapture。在程序结束时,当其对象被销毁时,它们将被释放。

画面是否显示在屏幕上?帧是否为640x480像素?当你按下Escape时发生了什么?@w.m.对不起,我刚才看到了评论。是的,画面显示在屏幕上,精确到640*480。当我按下ESC键时,出现了一个错误。它显示cv2.VideoWriter对象没有“release”属性谢谢您的回答。我试图删除这一行,但出现了新的错误。“对象没有“destroyAllWindows”属性,当我使用“DestroyWindow('frame')”时,它也有同样的问题。我的拼写错误。但是我在脚本中输入了正确的版本,同时出现了这个问题。你也将它更正为Window\u\S了吗?OpenCV确实有一个destroyAllWindows()方法,您可以在那里调用它。是的,“cv2.destroyAllWindows()”。它将不起作用,并显示对象没有属性“DestryAllWindows”。我使用的python和opencv版本是2.7.3和2.3.1。
cv2.VideoCapture(0).release()