[scikit-image] 79. サイズの異なる立方体の構造化要素を生成(skimage.morphology.cube)

matplotlib

はじめに

skimage.morphologyのcubeで、大きさの異なる立方体の構造化要素を作成して表示する。

コード

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

解説

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

バージョン

構造化要素の生成

cube(5)で幅、高さ、奥行きが5の立方体を作成できる。

構造化要素の表示

plt.figure(figsize=(10,6.65))でfigを作成し、fig.add_subplot(2, 3, idx)で図を順次生成していく。projection=Axes3D.nameとすることで3Dグラフを表示できる。
ax.voxels(struc,ec=’w’)によりボクセルグラフで立方体を表示する。ecで各セルのエッジカラーを設定でき、ここではwで白とした。
なお、ボクセルグラフについては下記で解説した。

[matplotlib 3D] 28. Pythonで3D voxelグラフ
3D voxelグラフの作成について解説する。


ax.xaxis.set_major_locator(ticker.MultipleLocator(1))とすることで1ごとに目盛りを表示する。yaxis,zaxisでも同様に処理する。
この状態でax.grid()をすると、1ごとにグリッドが表示されることになる。
ax.set(xlim=(-1,struc.shape[0]+1)などで各構造化要素の大きさに応じた軸範囲設定を行う。
idx += 1によりidxに1を足して次の図の作成を行う。

参考

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

コメント