Python Imageio MP4视频来自一组PNG图像



如何使用模块imageio制作一组PNG图像的MP4视频?我已经尝试过:

import imageio
import glob
writer = imageio.get_writer('test.mp4', fps=20)
for png_path in glob.glob('*.png'):
    im = imageio.imread(png_path),
    writer.append_data(im[:, :, 1])
writer.close()

我还尝试用im替换im[:, :, 1]。我究竟做错了什么?我很高兴使用另一个模块。

您无需通过IM [:,:,1]修改图像。例如,下面的代码在path指定的文件夹中以name开头的所有图像,并创建一个名为" Test.mp4"的视频

fileList = []
for file in os.listdir(path):
    if file.startswith(name):
        complete_path = path + file
        fileList.append(complete_path)
writer = imageio.get_writer('test.mp4', fps=20)
for im in fileList:
    writer.append_data(imageio.imread(im))
writer.close()

所有图像都必须相同的大小,因此您应该在将它们附加到视频文件之前调整它们大小。您可以通过FPS修改FPS,我只是将其设置为20,因为我正在遵循您的代码。

与K先生结合使用的更好的代码版本是:

import imageio
import glob
import os
writer = imageio.get_writer('test.mp4', fps=20)
for file in glob.glob(os.path.join(path,f'{name}*.png')):
    im = imageio.imread(file)
    writer.append_data(im)
writer.close()

P.S。不要忘记在将图像调整代码附加到视频文件之前。

最新更新