Как создать видео из изображений? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть алгоритм, который после каждой итерации создает матрицу. После некоторых операций над матрицей он наносится на карту пользователю. если я запускаю программу 6 раз, я получу:

a bunch of images

Моя цель - динамически менять изображение, как в фильме.

Понятия не имею, с какой стороны начинать. Я нашел несколько способов создания видео из изображений в Python, а затем обернуть его в видеоплеере. Но это кажется немного сложным, и невозможно увидеть изменения во время работы алгоритма. Есть какие-нибудь предложения, как это сделать?

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете использовать FFMPEG

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

В качестве альтернативы, вы можете использовать ImageIO для генерации GIF.Вы можете установить параметры длительности каждого кадра.

import imageio
with imageio.get_writer('/path_to_video.gif', mode='I') as writer:
    for filename in filenames:
        image = imageio.imread(filename)
        writer.append_data(image)

Более подробные инструкции см. В руководстве на веб-сайте.

Или с помощью cv2 ,

import cv2

img1 = cv2.imread('1.jpg')
img2 = cv2.imread('2.jpg')
img3 = cv2.imread('3.jpg')

height , width , layers =  img1.shape

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

video.write(img1)
video.write(img2)
video.write(img3)

cv2.destroyAllWindows()
video.release()
...