[seaborn-image] 1. imgplotによる画像データの表示

matplotlib

はじめに

Seaborn-imageは、matplotlib基盤の画像可視化ライブラリです。RGB画像やグレースケール画像を簡潔なコードで表示できる「imgplot」機能を提供しており、データ可視化ライブラリseabornの2次元データ版として位置づけられています。この記事では、imgplotの基本的な使い方と特徴について解説します。

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_context(“talk”)を使用してフォントサイズなどの表示設定を変更できます。コンテキストの種類は「paper」、「notebook」、「presentation」、「talk」、「poster」の5種類があります。

[seaborn] 2. set_contextで文字サイズ等を変更する
seabornは簡単かつ簡潔にデータを可視化できるライブラリである。ここではset_contextにより図の文字サイズなどを変更する方法について説明する。

isns.set_image(origin=”upper”)を使用すると、デフォルトの画像の原点をupper位置に設定できます。

データの読み込み

サボテンのすみれ丸の画像を読み込みました。以下の画像を使用しています。

グレースケール画像の作成

skimage.color モジュールの rgb2gray 関数を使用して、RGB画像をグレースケール画像に変換します。

RGB画像の表示

isns.imgplot(img,ax=ax)だけで下の画像が表示できます。

グレースケール画像の表示

グレースケール画像を表示すると、カラーバーも表示されます。

カラーバーの向き

orientation=’h’で横方向カラーバーにすることができます。

ログスケールカラーバー

cbar_log =Trueでログスケールのカラーバーとなります。

カラーバーのラベル

カラーバーのラベルは、cbar_labelで設定できます。

カラーバーの目盛り

cbar_ticksにリストを設定することで、カラーバーの目盛り値をカスタマイズできます。

画像の周囲の目盛り

showticksで画像の周囲に目盛りを表示できます。

画像の枠を非表示

despine=Falseで枠を非表示にできます。

カラーバーの枠も非表示となります。

grayによるRGB画像のグレースケール化

RGB画像でも、gray=Trueと指定することでグレースケール画像として表示でき、cmapパラメータで任意のカラーマップを選択できます。ただし、この場合はカラーバーは表示されません。

カラーマップ

グレースケール画像の場合、cmapパラメータで指定した色に基づいて画像とカラーバーが表示されます。

vmin、vmaxによる表示範囲の設定

vminで表示範囲の最低値、vmaxで表示範囲の最高値を指定できます。

透明度の設定

透明度はalphaで設定できます。

パーセンタイルで表示範囲を設定

robust=Trueと併せてperc=(10,90)を設定することで、パーセンタイルに基づいて画像の表示範囲を調整できます。

scale barの表示

dx、units、dimensionを設定することでスケールバーを表示できます。dxは1画素あたりのサイズを表し、unitsは単位を指定します。
dimensionを”si”に設定すると、km、m、cmなどの単位で表示されるようになります。

画像の統計的情報の表示

describe=Trueを指定すると、画像の表示と同時に画像データの統計的な情報を取得できます。

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

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

まとめ

本記事では、Seaborn-imageライブラリのimgplot機能について解説しました。このライブラリはmatplotlibをベースとした画像可視化ツールであり、RGB画像とグレースケール画像の両方を簡潔なコードで表示できることが特徴です。seabornの2次元データ版として、データサイエンティストや画像処理を行う開発者にとって便利なツールとなっています。imgplotを使うことで、画像データの視覚化が容易になり、効率的な画像分析が可能になります。

参考

seaborn_image.imgplot — seaborn-image documentation
skimage.color — skimage 0.26.0rc0.dev0 documentation

コメント