2

OpenCVを使用してPythonでタイムラプスクリエーターを作成しようとしていますが、次のコードがあります:

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 で、再生すると空の出力になります。誰かが私のコードの欠陥を見つけて、助けてくれますか?

4

3 に答える 3

1

ffmpeg をサポートしていないウィンドウがあるようです。私は同じ問題を抱えていましたが、OpenCV 2.4 VideoCapture が 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)
于 2013-08-14T20:24:00.917 に答える