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

matplotlib

はじめに

Seaborn-imageはmatplotlibベースの画像可視化ライブラリであり、簡潔なコードで画像データを明瞭に描写することができる。データ可視化ライブラリであるseabornの2次元データ版のような感じとなっている。ここでは、RGB画像またはグレースケール画像を表示することのできる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’ and ‘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は単位、
demensionは”si”とすることで、km, m, cmのように表示されるようになる。

画像の統計的情報の表示

describe=Trueで画像の表示とともに、画像データの統計的な情報が得られる。

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

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

参考

seaborn_image.imgplot — seaborn-image documentation
skimage.color — skimage 0.23.0rc3.dev0 documentation

コメント