[scikit-image] 77. サイズの異なる八角形の構造化要素を生成(skimage.morphology.octagon)

matplotlib

はじめに

skimage.morphologyのoctagonで、大きさの異なる八角形の構造化要素を作成して表示する。

コード

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

解説

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

バージョン

構造化要素の生成

octagonで第一引数は垂直、平行な辺の長さで、第二引数は斜めになっている辺の高さ(幅)となる。

構造化要素の表示

plt.figure(figsize=(10,6))でfigを作成し、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によりidxに1を足して次の図の作成を行う。

斜めの辺の高さが等しく、垂直・平行な辺の長さの異なる八角形の構造化要素

第一引数を変化させることで、辺の垂直部分と平行部分の長さを変えることができる。

参考

Generate structuring elements — skimage v0.18.0.dev0 docs
Module: morphology — skimage v0.18.0.dev0 docs

コメント