Zoh*_*air 5 video python-3.x python-imageio
我有一系列高分辨率图像,我想使用 ImageIO 在 Python(3.6) 中将其转换为 MP4 文件。有没有什么办法可以在不压缩或不损失质量的情况下做到这一点?
目前我使用的代码:
fileList = []
path = "./Images/MP4/relu-3layers-32units-M1/"
name = "img"
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 = 30)
for im in fileList:
writer.append_data(imageio.imread(im))
writer.close()
Run Code Online (Sandbox Code Playgroud)
它生成视频,但质量大大降低。有任何解决这个问题的方法吗?
为了获得最佳结果,请选择适当的编解码器,如“libx264”或“mjpeg”,一定要选择最高视频质量,可能还需要选择“yuvj444p”等像素格式:
writer = imageio.get_writer('test.mp4', fps = 30,
codec='mjpeg', quality=10, pixelformat='yuvj444p')
Run Code Online (Sandbox Code Playgroud)
编解码器mjpeg适用于 jpg 图像。默认的 imageio 选择libx264也应该很好用(并且可能会制作较小的视频),但我知道系统中可能缺少它。
对于任何编解码器来说,质量10都是最高的质量。范围是 0-10。
最后,像素格式yuvj444p(或yuv444p)以全分辨率记录所有三个通道。其他选项(如 yuvj420p 和 yuvj422p)会降低“u”和/或“v”通道的质量,对于常规图像也应该没问题。
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |