我正在使用此代码将一批图像转换为视频:-
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中有一个选项可以慢动作创建视频。
答案 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
的值,直到达到您喜欢的速度即可。