Navigation

Related Articles

Back to Latest Articles

複数の画像からgifアニメーションを作る


press
複数の画像からgifアニメーションを作る

複数の画像からgifアニメーションを作る

定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。

コードはGitHubリポジトリにあげています。

モジュールのインストール

モジュールをインストールします。
リポジトリからクローンした場合は、以下のコマンドで必要なモジュールを一括インストールできます。

pip install -r requirements.txt

手動でインストールする場合は、以下のコマンドを入力します。

pip install Pillow

コード

import glob

from PIL import Image

frames = []
images = sorted(glob.glob("images/*.jpg"))

for image in images:
    new_frame = Image.open(image)
    frames.append(new_frame)

frames[0].save('jpg_to_gif.gif',
               format='GIF',
               append_images=frames[1:],
               save_all=True,
               duration=500,
               loop=0)

結果

gifアニメーション

解説

import glob
from PIL import Image
モジュールを読み込む

frames = []
imagesフォルダ内の画像を格納するリストを生成

images = sorted(glob.glob("images/*.jpg"))
imagesフォルダ内の拡張子がjpgのファイルを読み込む
*はワイルドカードで全てのjpgファイルが対象

new_frame = Image.open(image)
画像を開いてnew_frameに代入

frames.append(new_frame)
代入した画像をframesに追加

frames[0].save('jpg_to_gif.gif', format='GIF', append_images=frames[1:], save_all=True, duration=500, loop=0)
gif画像を生成


当ブログは、群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

投稿についてのお問い合わせ




Show Comments (0)

Comments

Related Articles

Python

生成したリスト同士を計算する方法

リストをループで生成してリスト同士を計算する方法です。サンプルでは、[0, 1, 2, 3, 4]のリストを3個生成して計算します。 loopOneで3を代入しているのでリストを3回計算します。loopTwoで5を代入し […]

Posted on by press
Django

DjangoのFormに初期値を設定する

DjangoのFormに初期値を設定する Djangoで生成したFormをhiddenにしたまま、あらかじめ設定しておいた初期値が入ったvalueをPOSTする方法です。 forms.pyでinitial=’ […]

Posted on by press