[seaborn-image] 7. ParamGridで各種フィルタのパラメータを変化させた結果をまとめて表示

matplotlib

はじめに

Seaborn-imageはmatplotlibベースの画像可視化ライブラリで、本記事ではParamGridを使用して各種フィルタのパラメータ変化による結果を一括表示する方法について解説します。

seaborn-image: image data visualization — seaborn-image documentation

コード&解説

インストール

condaの方は

conda install -c conda-forge seaborn-image

pipの方は

pip install -U seaborn-image

でインストールできます。

モジュールのインポート

seaborn_image は isnsとして読み込みます。

バージョン

全体の設定

isns.set_image関数を使用して、デフォルトのカラーマップを”viridis”に設定し、画像の原点位置を上部(upper)に指定します。

データの読み込み

サボテンのすみれ丸の画像を読み込みます。以下の画像を使用し、rgb2gray関数でグレースケール画像に変換しました。

グレースケール画像をisnsのimgplotで表示すると以下のようになります。

ParamGrid ガウシアンフィルタ

ParamGridでは、col=”sigma”, sigma=[2,3,4,5]と指定することで、sigmaの値を2から5まで変化させた結果をまとめて表示できます。また、col_wrap=2を設定すると、結果を2列で整理して表示することが可能です。

uniformフィルタ

平均フィルタのsizeを変化させる場合も、ガウシアンフィルタと同じ方法で処理できます。

diff_of_gaussians

diff_of_gaussians(バンドパスフィルタ)の場合、colに”low_sigma”、rowに”high_sigma”を設定し、それぞれの値をリスト形式で指定することで、結果をまとめて表示できます。

percentile

percentileフィルタを使用する場合、percentileとsizeのパラメータを変化させてParamGridで表示すると以下のようになります。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

まとめ

本記事では、Seaborn-imageライブラリのParamGrid機能を活用して、複数のフィルタパラメータを効率的に比較・検証する方法を紹介しました。この手法により、画像処理における最適なパラメータ選択が容易になり、データ分析ワークフローを効率化することができます。

参考

seaborn_image.ParamGrid — seaborn-image documentation

コメント