私は現在、画像から映画を作ろうとしていますが、役に立つものは見つかりませんでした。
ここに私のコードがあります:
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()
Ffmpegなどの外部ツールを使用して画像をムービーにマージすることを検討できます(回答 here を参照)。または、OpenCvを使用して画像をムービーに結合して、例 こちら 。
「画像」と呼ばれるフォルダのすべての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, 0, 1, (width,height))
for image in images:
video.write(cv2.imread(os.path.join(image_folder, image)))
cv2.destroyAllWindows()
video.release()
おかげで、しかし私はffmpegを使用して代替ソリューションを見つけました:
def save():
os.system("ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4")
しかし、あなたの助けに感謝します:)