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。