如何平滑和减慢视频

时间:2019-04-10 16:29:43

标签: python opencv image-processing video-processing

我正在使用此代码将一批图像转换为视频:-

import cv2
import numpy as np
import glob

img_array = []
for filename in glob.glob('C:/New folder/Images/*.jpg'):
    img = cv2.imread(filename)
    height, width, layers = img.shape
    size = (width,height)
    img_array.append(img)


out = cv2.VideoWriter('project.avi',cv2.VideoWriter_fourcc(*'DIVX'), 15, size)

for i in range(len(img_array)):
    out.write(img_array[i])
out.release()

现在的问题是,由于图像不被连续地剪切但有间隙,因此输出视频非常快。 我希望在opencv中有一个选项可以慢动作创建视频。

1 个答案:

答案 0 :(得分:1)

您似乎将视频FPS设置为15,但由于某种原因没有得到该结果。您可以尝试像这样降低15来说5

out = cv2.VideoWriter('project.avi',cv2.VideoWriter_fourcc(*'DIVX'), 5, size)

我想您已经尝试过了,所以另一种选择是将每个图像多次写入视频。例如:

num_repeats = 5 

for img in img_array:
    for _ in range(num_repeats): 
        out.write(img)

只需更改num_repeats的值,直到达到您喜欢的速度即可。