画像が回転する動画
画像を回転させて動画(GIFアニメ)を作ります。
画像処理にはライブラリPillowのImageモジュールを用い、rotateメソッドにより画像を回転、cropメソッドで画像の中央の部分を切り抜きます。回転角度を変えながら画像を生成しGIFアニメにします。
関連記事
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
- Pillow 5.2.0
準備
画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、jupyter notebookファイル(***.ipynb)と同じディレクトリにファイル名'cheergirl.jpg'で保存しました。
コード
from PIL import Image img = Image.open('cheergirl.jpg') # 元画像読み出し width, height = img.size # サイズの取得 img_list = [] # 画像保存用リスト # 回転処理 for i in range(0,360,5): # 画像を5度ずつ回転し中心を300x300px切り抜いてgif画像リストに追加する img_r = img.rotate(i) img_c = img_r.crop((int(width/2)-150, int(height/2)-150, int(width/2)+150, int(height/2)+150)) img_list.append(img_c) #アニメーションgifファイルを作成(1フレーム100ms,ループ) img_list[0].save('rot.gif', save_all=True, append_images=img_list[1:], optimize=True, duration=100, loop=0)
実行結果
以下のサイトを参考にさせていただきました
Pythonの文法メモ > 【Pillow】画像の縮小拡大、切り抜き
Pythonの文法メモ > 【Pillow】画像の回転、反転