[scikit-image] 45. グレースケール画像の白い部分、黒い部分をそれぞれ分離(skimage.morphology reconstruction)

python

はじめに

ここでは、skimage morphology reconstructionにより画像中の白い部分と黒い部分をそれぞれ分離して表示する例について説明する。

コード

コードをダウンロード

解説

モジュールのインポート

画像データの読み込み

Epithelantha属の月世界の種子を用いる。袋に入っている。
これをrgb2grayによりグレースケール画像にする。

穴埋め

モルフォロジー再構成を使用して、画像中の穴(孤立した暗い点=種)を埋める。

seedは、エッジがimageと同じでエッジ以外はimage.max≒1(黒)の画像となる。
maskは元の画像とおなじものを用いる。

reconstruction(seed, mask, method=’erosion’)により、seedによってmaskの種が膨張(白い部分が収縮)する。マスクを元の画像の値に設定することでerosionを制御している。

元画像からerrosion画像をひくことで、暗い領域を分離できる。

ピーク検出

erosionの場合とは異なり、seedは、エッジ以外がimage.min≒0(白)の画像となる。

reconstruction(seed, mask, method=’dilation’)により、seedによってmaskの種の部分が収縮(白い部分が膨張)することになり、白い部分だけが残る。
dilationはerosionとは、逆の動作となる。
元画像からdilation画像をひくことで、明るい領域を分離できる。

画像の表示

参考

Filling holes and finding peaks — skimage v0.16.1 docs
にほんブログ村 IT技術ブログ Pythonへ
にほんブログ村 IT技術ブログへ

コメント