[scikit-image] 75. ディスク状構造化要素の生成(skimage.morphology.disk)

matplotlib

はじめに

この記事は、scikit-imageライブラリのmorphology.disk関数を使用してサイズの異なるディスク状の構造化要素を生成する方法について解説します。モルフォロジー演算で使用される円形のマスク(構造化要素)を作成し、それを視覚化する方法を紹介します。

コード

解説

モジュールのインポートなど

バージョン

構造化要素の生成

辞書形式でradiusが1から6のdiskを作成します。

構造化要素の表示

まずplt.figure(figsize=(10,6))で図全体を作成し、fig.add_subplot(2, 3, idx)で複数のサブプロットを順に配置していきます。ax.imshow(struc)で各構造化要素を表示します。

2重のfor文を使用して各ピクセルを走査し、ax.textでピクセル中央にその値を表示します。

ax.xaxis.set_major_locator(ticker.MultipleLocator(1))を設定することで、1単位ごとに目盛りを表示します。

この設定の上でax.grid()を実行すると、1単位ごとにグリッド線が表示されます。

ax.set(xlim=(-1,struc.shape[0]),ylim=(-1,struc.shape[0]))により、各構造化要素のサイズに合わせて軸の表示範囲を設定します。

ax.set_axisbelow(True)でグリッド線を他の要素の背面に表示します。

最後にidx += 1でインデックスを増やし、次のサブプロット作成に進みます。

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

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

参考

Generate footprints (structuring elements) — skimage 0.26.0rc0.dev0 documentation
skimage.morphology — skimage 0.26.0rc0.dev0 documentation

コメント