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