[scikit-image] 76. サイズの異なる長方形の構造化要素を生成(skimage.morphology.rectangle)

matplotlib

はじめに

この記事では、scikit-imageライブラリの中のskimage.morphology.rectangle関数を使用して、サイズの異なる長方形の構造化要素を生成する方法について解説しています。

コード

解説

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

バージョン

構造化要素の生成

辞書形式でwidthheightを指定して長方形を作成します。

構造化要素の表示

まず、plt.figure(figsize=(8,5))で図全体のキャンバスを作成し、fig.add_subplot(2, 3, idx)で複数の部分図を順番に配置していきます。各部分図では、ax.imshow(struc)を使って構造化要素を表示します。

次に、二重の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でインデックスを増加させ、次の部分図の作成に進みます。

横長長方形の構造化要素

rectangle(3,8)のようにすることで横長の長方形となります。

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

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

まとめ

skimage.morphology.rectangle関数を使用することで、画像処理において重要な様々なサイズの長方形構造化要素を簡単に生成できることが分かりました。この機能は画像のフィルタリングや形状解析などに役立ちます。

参考

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

コメント