1
- 我有png格式我想串(PIL)图片汇集成GIF动画
- 名单要做到这一点,我目前使用的
imageio
库 - 但是,我无法找到一个方法来做到这产生质量好的GIF
据我所知,有两种类型的设置我可以改变。用于读取.png的imageio.imread()
设置以及用于写入gif的imageio.mimwrite()
设置。据imageio.help()
,imageio:如何提高输出gif的质量?
imageio.imread()
具有一个读放慢参数仅供PNG-PIL
,ignoregamma
这需要一个布尔值。这不会改变我的输出gif。imageio.mimwrite()
可以指两种格式。第一个是GIF-PIL
。此格式的输出仅显示一帧,因此不合需要。 Output here。imageio.mimwrite()
具有第二种格式GIF-FI
。这产生更有前途的输出具有以下选项:'quantizer':'wu'
生成完整的gif与指定的帧和帧速率,但产生一个“损坏”种类-的质量。 Output here。'quantizer':'nq'
生成一个完整的gif,其质量比'wu'好,但不能很好地处理色差。注意右下角的图例倾向于改变它的颜色。 Output here。
下面是最优质的相关代码,我能得到这么远(GIF-FI
与nq
)
def gen_gif(self, datetime_list):
kwargs_write = {'fps':5.0, 'quantizer':'nq'}
frames = []
for datetime in datetime_list:
frames.append(imageio.imread(datetime+'.png'))
exportname = '{} to {}.gif'.format(datetime_list[0], datetime_list[-1])
imageio.mimsave(exportname, frames, 'GIF-FI', **kwargs_write)
的函数调用包含完整的一个字符串列表参数将.png图像的路径编译为gif。