从存储在一个文件夹中的序列图像创建视频

问题描述

我想从存储在文件夹中的图像创建mp4视频。我已经将所有图像重命名为(1.jpg,2.jpg,... 1000.jpg)。
我想将每5张图像(1-5、6-10、11-15,...,995-1000)创建为5 fps的视频并保存视频。

输入:-1000张图像。
输出:-200幅5fps的视频。

解决方法

您可以在阵列中每5张图像填充一次并相应地创建视频

for i in range(1,20): #can base on number of image in your directory
    if(i+4 > 20):
        break
    print(str(i)+" "+str(i+4)) # use this to append your image into array
    img_array = []
    for j in range(i,i+5):
        filename = str(j)+".jpg"
        img = cv2.imread(filename)
        height,width,layers = img.shape
        size = (width,height)
        img_array.append(img)

    #Create Video
    out = cv2.VideoWriter(video_file,cv2.VideoWriter_fourcc(*'MP4V'),fps,size)
    for i in range(len(img_array)):
        out.write(img_array[i])
    out.release()

    i = i+4