PythonとPillowで画像処理を自動化|動画フレームの生成と編集方法

Pythonで画像を使って動画のフレームを生成できるなら、業務の効率化に使えそうですね。でも、どうやって始めたらいいんだろう…。
猫男
猫男
catman
catman
それならcatmanに任せるんだ。PythonとPillowというライブラリを使うと、画像を自在に操作できるようになるさ。そして、それを使って動画のフレーム生成もできるんだよう。

 

PythonとPillowを使って画像を編集する

Python標準のライブラリに加えて、画像処理のためのPillowを使うと色々な画像編集が可能です。

画像のリサイズ、回転、フィルターの適用、文字や図形の追加といった基本的な画像編集が簡単にできます。

 

Pillowのインストールと基本的な使い方

Pillowを使うためには、まずPython環境に導入する必要があります。

確認やインストールは以下のように行います。

pip install Pillow

インストールが完了したら、次は基本的な画像処理を試してみましょう。

たとえば、画像のサイズをリサイズするコードです。

from PIL import Image

# 画像を開く
img = Image.open("sample.jpg")

# 画像をリサイズする
resized_img = img.resize((800, 600))

# リサイズした画像を保存する
resized_img.save("resized_sample.jpg")

このコードでは、Pillowライブラリを使って画像を開き、そのサイズを800×600に変更して保存しています。

 

Pillowを使った画像の基本編集操作

さらに、Pillowを使えば画像にテキストやフィルターを追加することも簡単です。

以下は画像にテキストを追加する例です。

from PIL import Image, ImageDraw, ImageFont

# 画像を開く
img = Image.open("sample.jpg")
draw = ImageDraw.Draw(img)

# フォントの設定
font = ImageFont.truetype("arial.ttf", 40)

# 画像にテキストを追加
draw.text((50, 50), "Hello, Python!", fill="white", font=font)

# テキストを追加した画像を保存
img.save("text_sample.jpg")

このコードでは、ImageDraw.Drawを使って画像に書き込みを行っています。また、フォントや位置、色を指定してテキストを追加する様子を示しています。

 

画像に文字やフィルターを簡単に追加できるんですね。これを使って動画のフレームを豊かにするアイデアが浮かびます!
猫男
猫男
catman
catman
その意気だよう。Pillowを使えば加工を自動的に施した画像フレームもすぐ作れるんだ。次は、この画像をどうやってフレーム化していくかを見ていこう。

 

PythonとPillowで動画のフレームを作成する

画像処理に慣れたら、その成果を動画フレームとして使う方法もあります。

ここでは、複数の編集済み画像を連続して動画に変換する基本例を示します。

 

複数の画像から動画を生成する

たとえば、指定されたフォルダ内の画像をすべて読み込んで1つのMP4動画にするには、ffmpegと組み合わせます。

以下にその例を示します。

import subprocess

# Imageフォルダに画像が保存されていると仮定
input_folder = "images/"
output_video = "output_video.mp4"
input_pattern = f"{input_folder}%03d.png"

command = [
    "ffmpeg",
    "-framerate", "24",
    "-i", input_pattern,
    "-r", "30",
    "-pix_fmt", "yuv420p",
    output_video
]

subprocess.run(command)

このコードでは、連番形式の画像ファイルを指定して、それらを指定のフレームレートで繋げることで動画を作成します。

 

画像の編集から動画生成までの流れ

1. Pillowを使って画像を編集
2. 連番形式で画像を保存
3. ffmpegを使用して連番画像から動画を生成

この一連の流れで、画像処理から動画作成の自動化を実現できます。

 

まとめ

PythonとPillowを組み合わせることで、様々な画像処理を行えます。

たった1つのスクリプトで、画像編集から動画フレーム生成までを自動化可能です。

  • 画像サイズの編集やテキスト追加などができる
  • 連番形式の画像を動画化することで、簡易動画作成が可能
  • Pillowだけでなく、ffmpegと組み合わせることで、プロフェッショナルな動画編集が実現

これでPythonを使った画像と動画の処理がぐっと身近になります。

 

これで安心しました。Pillowを活用して、素材を手軽に動画化できる道が開けましたね。
猫男
猫男
catman
catman
練習と応用が肝心だ。PythonとPillowで、新たな自動化の世界を冒険するんだ。頑張ってくれよう。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。