Pythonでfimageを用いて画像に”セピア”フィルターを適用し作成してみます。
今回はfimageを用います。fimageはPythonの標準ライブラリ・モジュールではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■画像を用意する
画像に”セピア”フィルターを適用し、適用された新たな画像を作成しますが、その前に画像を用意します。
今回はフリー画像素材「Pixabay」(https://pixabay.com/ja/)から著作権フリーの画像を利用させて頂きます。ファイルをダウンロードし、わかりやすいように「mountain-forest.jpg」という名前で「C:\Users\user_\test(フォルダパス)」という保存場所に置きます。これでフィルター適用の準備は完了です。
■fimageを用いて画像に”セピア”フィルターを適用し作成する
画像の用意ができましたので、次はfimageを用いて画像に”セピア”フィルターを適用し作成するスクリプトを書いていきます。
■コード
from fimage import FImage from fimage.filters import Sepia def main(): image = FImage(r'C:\Users\user_\test\mountain-forest.jpg') image.apply(Sepia(70)) image.save(r'C:\Users\user_\test\new_mountain-forest.jpg') if __name__ == "__main__": main()
「from import」でfimageモジュール、fimageのfiltersからSepiaを呼び出します。
その後、def文を用いてmain()という関数を定義します。次に、この関数を呼び出した時に実行される処理を作ります。imageという変数を定義し、FImage()を用いて、括弧内に引数,パラメータとして、今回用意した画像の場所とファイル名を渡します。
渡した後に、apply()を用いて、括弧内に引数,パラメータとしてSepia()を渡します。これでセピアフィルターが適用されます。適用されますが、Sepia()の括弧内に引数,パラメータとして、セピアトーンを適用するために使用する調整値を渡します。今回は「70」とします。
フィルターを適用後、save()を用いて、フィルターが適用された画像を保存するために、括弧内に引数,パラメータとして新しい画像の名前と保存する場所を渡します。ここまでが関数を呼び出した時に実行される処理になります。
関数を定義後、「if __name__ == “__main__”:」を用いて、main()関数を呼び出し処理が実行されるようにします。
■実行・検証
このスクリプトを「f_image.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、今回のスクリプトでは、print()関数を用いて、フィルター適用の結果といった文字列の出力は記述していないので、何も出力されません。出力されませんが、フィルターが適用された新しい画像が保存されているか確認してみます。
確認してみると、フィルターが適用された新しい画像を保存先として指定したフォルダ内に、画像が作成されていることが確認でき、画像を開くとセピアフィルターが適用されていることが確認できました。
コメント