繁体   English   中英

增加帧数会减少 opencv videowriter 中视频的持续时间?

[英]Increasing the number of frames decreases the duration of video in opencv videowriter?

我有一个包含多个图像文件的文件夹。 我将它们结合起来以 15fps 的速度编写视频。 问题是由于某种原因,最终视频的大小,即 output 并没有增加。 代码如图所示:

out = cv2.VideoWriter('project.avi', cv2.VideoWriter_fourcc(*'DIVX'), 15, size)
for filename in glob.glob('/mnt/d/projects/sample_vids/*.jpeg'):
    print("h1")
    for i in range(1440):
        print(i)
        img = cv2.imread(filename)
        height, width, layers = img.shape
        # size = (width, height)
        # dim_width = int(img.shape[1] * scale_percent / 100)
        # dim_height = int(img.shape[0] * scale_percent / 100)
        # dim = (dim_width, dim_height)

        resized = cv2.resize(img, (size[0] + i, size[1] + i), interpolation=cv2.INTER_AREA)
        out.write(resized)
out.release()

在上面的代码中,将 1440 更改为 120 的结果几乎与以前相同。 不确定,我在哪里犯了错误

    1. 使用glob收集所有图像
    import cv2 import glob img_array = [] for i, filename in enumerate(glob.glob('/mnt/d/projects/sample_vids/*.jpeg')): img = cv2.imread(filename) height, width, layers = img.shape size = (width, height) resized = cv2.resize(img, (size[0] + i, size[1] + i), interpolation=cv2.INTER_AREA) img_array.append(resized)
    1. 在里面。 VideoWriter
     out = cv2.VideoWriter('project.avi', cv2.VideoWriter_fourcc(*'DIVX'), 15, size)
    1. 创建视频
    for i in range(len(img_array)): out.write(img_array[i]) out.release()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM