2013-06-26 102 views
1

我试图创建一个使用OpenCV的Python中的延时创造者,并有下面的代码:OpenCV的VideoWriter与蟒蛇给5.54kb文件

import cv2 
import os 
import string 

directory = (r"C:\Users\Josh\Desktop\20130216") 
video = cv2.VideoWriter(r"C:\Users\Josh\Desktop\video.avi", cv2.cv.CV_FOURCC('F','M','P', '4'), 15, (1536, 1536), 1) 

for filename in os.listdir(directory): 
    if filename.endswith(".jpg"): 
     video.write(cv2.imread(filename)) 

cv2.destroyAllWindows() 
video.release() 

文件夹中有1,440的照片,但video.avi是只有5.54kb大小,播放时有空输出。任何人都可以在我的代码中看到任何缺陷,并给我任何帮助?

+0

您是否尝试过单独显示图像?这会告诉你图像是否被实际读取(即它们的路径是有效的))。 – Aurelius

回答

1

它似乎是,你有没有ffmpeg支持的窗口。 我有同样的问题,OpenCV 2.4 VideoCapture not working on Windows帮助我。

的opencv246 \ OpenCV的\的3rdParty \ ffmpeg的\ opencv_ffmpeg.dll应该被复制到 C:\ Python27 \ opencv_ffmpeg246.dll在你的代码为1536x1536定义

您的帧大小,所以所有的.jpg文件的应该匹配那个尺寸。

video = cv2.VideoWriter(r"C:\Users\Josh\Desktop\video.avi", 
cv2.cv.CV_FOURCC('F','M','P', '4'), 15, (1536, 1536), 1)