はじめに
ここでは、skimage.morphology の skeletonizeを用いた画像の細線化について説明する。
コード
解説
モジュールのインポート
画像データの読み込み
サボテンのアイコンをplt.imread()で読み込む。PNG形式なのでRGBαの次元があるが、Rのみをスライスする。
image[image>0]=1により、0より大きいものを1として、0と1で構成されたデータとする。
スケルトン化による細線化
imageはバイナリイメージである必要がある。これにより、バイナリイメージ内の各連結成分は1ピクセル幅に縮小される。
結果の表示
図をImageGridにより表示する。ImageGridは下記で解説した。
[matplotlib] 19. mpl_toolkits.axes_grid1 の使い方(画像の表示)
axes_grid1のImageGridを用いて複数の画像を表示する方法
左のgrid[0]にオリジナル画像、右のgrid[1]にスケルトン化した画像を表示している。スケルトン化した画像は、その名の通りサボテンの骨格のような見た目となっている。
細線化の例
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)3次元オブジェクトの細線化
skimage.morphology の skeletonizeでは3次元オブジェクトの細線化もできる。詳細は下記記事を参照願います。
[scikit-image] 82. 3次元オブジェクトの細線化(skimage.morphology.skeletonize)
skimage.morphologyのskeletonizeで、ボクセルグラフで表示した3次元オブジェクトを細線化する方法について説明する。
参考
Skeletonize — skimage 0.22.0 documentation
è¢å
¥ãã®ãããã®ã¤ã©ã¹ãï¼ã¤ã¶ããï¼
ãããã¨ãã¯å£ç¯ã®ã¤ãã³ãã»åç©ã»åä¾ãªã©ã®ããããã¤ã©ã¹ãã沢山è¦ã¤ããããªã¼...
コメント