1
- 私は、私は現在
- しかし
imageio
ライブラリを使用していますこれを行うには、私が行うための方法を見つけることができません一緒にアニメーションGIF - に私は文字列にしたい(PIL)の画像を.pngのリストを持っていますこれは私の知る限りでは、私が変更できる設定の2種類があります良質 GIFを
を生成します。 .pngを読むための設定はimageio.imread()
、GIFを書くための設定はimageio.mimwrite()
です。 imageio.help()
によると、imageio:出力GIFの品質を上げるには?
imageio.imread()
ははブール値をとるだけPNG-PIL
ためignoregamma
をPARAMTERを読みました。これは私の出力GIFのために何も変わらない。imageio.mimwrite()
は、2つの形式を参照できます。最初はGIF-PIL
です。このフォーマットからの出力は、1つのフレームのみを示し、したがって望ましくない。 Output here。imageio.mimwrite()
の形式は、GIF-FI
です。'quantizer':'wu'
が指定したフレームとフレームレートとの完全なGIF画像を生成するが、は「壊れた」種類-の品質を生成します。これは、次のオプションでより多くの有望な出力を生成します。 Output here。'quantizer':'nq'
は、「wu」よりも「劣化が少ない」品質のフルGIFを生成しますが、はウェルを正しく処理しません。右下の凡例がどのように色を変えようとしているかに注目してください。 Output here。
ここで私はこれまでのところ(nq
とGIF-FI
)を得ることができる最高の品質に関連するコードだ
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)
機能は、完全を含む文字列の1つのリストパラメータで呼ばれていますGIFにコンパイルされる.pngイメージへのパス。