これまでのpandasデータの扱いなど、表やCSV・JSONなど様々なデータをPythonでは処理可能ですが、画像や音といったマルチメディアデータの処理もライブラリを使えば可能になります。こちらの記事では画像処理について解説します。
画像処理のライブラリではOpenCVやPILなどが利用できます。この中でPILは開発が停止されたので、現在ではそこからフォークされたPillowと呼ばれるライブラリが利用できます。どちらかといえば複雑な処理はOpenCVが用いられます。簡単な処理ではPillowも使われています。こちらの記事では比較的扱いがシンプルなPillowを使う例をいくつか確認したいと思います。
インストール
通常Pillowが既にインストールされていることもあると思いますが、インストールされていない場合には pip install Pillow としてインストールしてください。私の環境では既にインストールされていました。またGoogle Colaboratorym確認しましたが、インストールされていたようです。
Pillowライブラリを利用した簡単な画像処理
Pillowを利用して画像処理を行ってみます。例として Wikipedia Commons の猫の画像を使っています(cat.jpgとして保存して使っています)。
サンプルソース
いくつかの処理を行うサンプルの実装です。
- 画像 (cat.jpg) を開きます
- 開いた画像の情報を取得してprintします
- 画像を45度回転させます
- 画像のサムネイルを作成します
- JPGをPNGに変換します
実行結果
オリジナルの画像と45度回転させた画像が出力されました。
サムネイルはこのような図になりました。
画像にフィルターをかける
次は簡単なフィルターを画像に適用して、効果をかけてみようと思います。
サンプルソース
次のように実装しました。
- 2つのフィルター(BLUR、EDGE_ENHANCE)を試して、それぞれ保存しました
実行結果
実行結果です。ぼかしがかかった画像と、辺の強調がかかった画像を作成することができました。
スポンサーリンク
他にも文字を書き込んだり、反転させたり、通常の画像編集ソフトでサポートされているような基本的な処理はプログラムを通して行うことが可能です。他のプログラムと連携したり、画像処理を自動化したりする際にPythonを使った画像処理が必要になったら、一度処理を書いてみてくださいね。