2017-07-06 7 views
2

現在、画像からムービーを作成しようとしていますが、何か助けになるものが見つかりませんでした。あなたは映画の中に画像をマージするffmpegのような外部ツールを使用して検討することもできPythonで画像をムービーにする方法

import time 

from PIL import ImageGrab 

x =0 

while True: 
    try: 
     x+= 1 
     ImageGrab().grab().save('img{}.png'.format(str(x)) 
    except: 
     movie = #Idontknow 
     for _ in range(x): 
      movie.save("img{}.png".format(str(_))) 

movie.save() 

答えて

10

(答えhereを参照)か、画像を結合するためにOpenCVのを使用しようとすることができます:ここで

は、これまでの私のコードです例hereのような映画に変換します。

私はコードを切り捨てました。「画像」というフォルダのすべてのpngファイルをビデオに結合するのに使用しました。

import cv2 
import os 

image_folder = 'images' 
video_name = 'video.avi' 

images = [img for img in os.listdir(image_folder) if img.endswith(".png")] 
frame = cv2.imread(os.path.join(image_folder, images[0])) 
height, width, layers = frame.shape 

video = cv2.VideoWriter(video_name, -1, 1, (width,height)) 

for image in images: 
    video.write(cv2.imread(os.path.join(image_folder, image))) 

cv2.destroyAllWindows() 
video.release() 
+0

これは実際には常にUbuntuのhttpsのための作業しない:// githubのを。 com/ContinuumIO/anaconda-issues/issues/223 –

+0

このソリューションを投稿していただきありがとうございます!それは私が他のソリューションを使用していた問題の負荷を払っています。 – MikeyB

4

おかげで、私はffmpegのを使用して、代替解決策を見つけた:

def save(): 
    os.system("ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4") 

しかし、あなたの助けをありがとう:)

+0

すべての画像をマージする際にfpsを定義する方法 –

関連する問題