Создание видео из отдельных кадров - PullRequest
0 голосов
/ 26 сентября 2018

Мне удалось успешно разбить видео на составляющие его кадры изображения и проанализировать их с помощью модели keras RESNet50.Я также смог добавить наложения прогнозов в эти отдельные изображения.Теперь я хочу воссоздать исходное видео, поместив эти обработанные изображения с наложениями обратно в файл mp4.

Как я могу последовательно создать видео из отдельных кадров изображений jpg?

Я пытаюсь использовать cv2.VideoWriter для записи этих изображений обратно в отдельный видеофайл.

uname -a дает мне следующий вывод

Linux myhost 4.15.0-1023-azure # 24 ~ 16.04.1-Ubuntu SMP Ср 29 августа 12:54:36 UTC2018 x86_64 x86_64 x86_64 GNU / Linux

Мои первые 11 кадров называются от frame-0000.jpg до frame-0011.jpg

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Как я могу создать видео из отдельных кадров изображения JPG в последовательности?

Вы можете использовать этот код для создания видео кадр за кадром из изображений JPG.Эти изображения будут считываться из папки, где находится этот скрипт.

import cv2 #Import of openCV library
import os 
#Create video, with name 'video.mp4', MP4 codec, 60 fps, width 1280 and height of 1024
video = cv2.VideoWriter('video.mp4',cv2.VideoWriter_fourcc(*'MP4V'),60,(1280,1024))
for file in os.listdir('./'): #List every file in this folder
    if ".jpg" in file: #Filter only jpg files
        image = cv2.imread(file) #Load image from disk
        video.write(image) #Put image into video.
video.release() #Save video to disk.

Вы можете изменить этот код для загрузки изображений из вашего приложения или какого-либо массива.

Редактировать: добавлены комментарии

0 голосов
/ 26 сентября 2018

Самый простой способ - использовать ffmpeg в терминале следующим образом:

ffmpeg.exe -f image2 -r 30 -i frame-%04d.jpg -codec:v libx264 -crf 23 video.mp4
...