📈

matplotlibの連番プロットからPillowでgifを作るときのtips

2022/02/21に公開

Pillowで連番の順番が崩れる

├── 1000.png
├── 1005.png
├── 100.png
├── 1010.png
├── 1015.png
├── 1020.png

のように100.pngが変な位置に入らないようにnatsortedを使う
以下,pythonスクリプト

from PIL import Image
import glob
from natsort import natsorted


files = natsorted(sorted(glob.glob('*.png'))) # 連番画像の取得

images = list(map(lambda file: Image.open(file), files))

images[0].save('animation.gif', save_all=True, optimize=False, append_images=images[1:], duration=1, loop=0)

gifの解像度が悪い

解像度が悪いgif

連番の画像生成時にオプションをつけて背景色をつける

plt.savefig("{}.png".format(n),  facecolor="white", edgecolor="coral")

以下,背景色有りで生成したgif
文字がぼけてない

Discussion