Pythonでfimageを用いて画像に”セピア”フィルターを適用し作成する

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()関数を用いて、フィルター適用の結果といった文字列の出力は記述していないので、何も出力されません。出力されませんが、フィルターが適用された新しい画像が保存されているか確認してみます。

確認してみると、フィルターが適用された新しい画像を保存先として指定したフォルダ内に、画像が作成されていることが確認でき、画像を開くとセピアフィルターが適用されていることが確認できました。

コメント

タイトルとURLをコピーしました