はじめに
ndimageのdistance_transform_cdt, distance_transform_edtにより、2値化像の距離変換像を作成することができる。ここでは、distance_transform_cdtによるマンハッタン距離、チェスボード距離、distance_transform_edtによるユークリッド距離の例を表示する。
コード
![](https://sabopy.com/wp/wp-content/uploads/2021/01/distance_transform-1.png)
解説
モジュールのインポート
バージョン
データの作成
skimageのdiskにより、平らな円盤状の構造要素を作成する。作成方法については下記記事で詳しく解説している。
![](https://sabopy.com/wp/wp-content/uploads/2020/04/disk-160x90.png)
[scikit-image] 75. サイズの異なるディスク状の構造化要素を生成(skimage.morphology.disk)
skimage.morphologyのdiskで、大きさの異なるディスク状の構造化要素を作成して表示する。
データの表示
imshowで値とともに表示すると下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/01/disk4-1.png)
チェスボード距離変換
distance_transform_cdt(struc,metric=’chessboard’)により、チェスボード距離変換像を生成できる。像を表示すると下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/01/chessboard-1.png)
マンハッタン距離変換
distance_transform_cdt(struc,metric=’taxicab’)により、マンハッタン距離変換像を生成できる。像を表示すると下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/01/taxicab-1.png)
ユークリッド距離変換
distance_transform_edt(struc)により、ユークリッド距離変換像を生成できる。像を表示すると下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/01/euclidean-1.png)
まとめの図
これまでに示した図をまとめて表示するとこのようになる。
![](https://sabopy.com/wp/wp-content/uploads/2021/01/distance_transform-1.png)
参考
distance_transform_cdt — SciPy v1.14.0 Manual
distance_transform_edt — SciPy v1.14.0 Manual
skimage.morphology — skimage 0.24.1rc0.dev0 documentation
コメント