画像の一部をマスクで指定して、ぷるぷる揺れるアニメーションを作成するGUIツールです。 GIFとMP4の両方に書き出せるので、SNS用素材や動画編集用パーツ作りに使えます。
- 画像を読み込んで、指定した部分だけをぷるぷる揺らす
- TkinterベースのGUIで操作可能
- 参照ボタンから画像を読み込み
tkinterdnd2が使える環境ではドラッグ&ドロップ読み込みに対応- PNG / JPG / JPEG / GIF 画像に対応
- ブラシで手動マスク作成
- 消しゴムでマスク修正
- 肌色領域の自動マスク機能
- 揺れの中心点を指定可能
- 揺れの大きさ、速さ、横揺れ比率、減衰、柔らかさを調整可能
- フレーム数とFPSを指定可能
- GIF / MP4 形式で書き出し
- マスク範囲と中心点をプレビュー上で確認可能
「画像の一部をぷるぷる揺らしてGIFやMP4にするツール」
-
アプリを起動する
先に必要ライブラリをインストールします。
pip install Pillow numpy scipy opencv-python tkinterdnd2
そのあと、ターミナルで以下を実行します。
python purupuru.py
-
ファイルを読み込む
「画像を選択」ボタンから画像を読み込みます。
tkinterdnd2が使える環境では、画像ファイルをウィンドウへドラッグ&ドロップして読み込むこともできます。対応形式:
- PNG
- JPG
- JPEG
- GIF
-
設定を行う
揺らしたい部分をマスクで指定します。
-
描画モード 揺らしたい範囲をブラシで塗ります。
-
消しゴム 塗りすぎたマスク部分を消します。
-
中心配置 揺れの中心になる位置をクリックで指定します。
-
肌全体マスク 肌色っぽい領域を自動検出してマスクします。 ざっくり選択してから、消しゴムで微調整する使い方がおすすめです。
-
ブラシサイズ マスク描画に使うブラシの大きさを変更します。
ぷるぷる調整では、以下の項目を変更できます。
- 揺れの大きさ
- 速さ
- 横揺れ比率
- 減衰
- 柔らかさ
- フレーム数
- FPS
- モード:
bounce/sine
-
-
プレビューを確認
読み込んだ画像の上に、マスク範囲がピンク色で表示されます。 中心点を置いた場合は、赤い丸で表示されます。
-
変換/生成/書き出しを実行する
出力したい形式に合わせてボタンを押します。
- GIF生成!
- MP4生成!
出力ファイルは、実行したフォルダに以下のような名前で保存されます。
purupuru-YYYYMMDDHHMMSS.gif purupuru-YYYYMMDDHHMMSS.mp4
まずは以下のあたりから試すと扱いやすいです。
- 揺れの大きさ:
10〜14 - 速さ:
2.0〜3.0 - 横揺れ比率:
0.3〜0.5 - 減衰:
0.2〜0.4 - 柔らかさ:
1.5〜2.5 - フレーム数:
36 - FPS:
24 - モード:
bounce
自然に揺らしたい場合は控えめに、ネタっぽく強調したい場合は揺れの大きさを上げると分かりやすいです。
- Python 3.10以上
- Pillow
- numpy
- scipy
- opencv-python
- tkinterdnd2
pip install例:
pip install Pillow numpy scipy opencv-python tkinterdnd2※ Tkinterは通常Pythonに同梱されていますが、環境によっては別途インストールが必要な場合があります。
MIT License で公開しています。 ご自由に使って、改変して、参考にしてください。 ただし自作発言はNGでお願いします。
