はじめに
skimage.measureのregionpropsによって、ラベリングした領域の性質を取得する方法について説明する。
コード
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)解説
モジュールのインポート
回転した楕円の生成
ellipse(256, 256, 100, 256)で中心(256,256)に短径100×2、長経256×2の楕円を生成する。
image[rr, cc] = 1で楕円に該当する部分を1とする。
rotate(image, angle=45)によって左に45度回転する。
ラベリングとプロパティの取得
regionprops(ラベリングした画像)ですべてのラベルの性質のすべてを取得することができる。返り値はラベルごとのリストとなる。
画像の表示
図形の表示
楕円の重心と長径と短径
props.centroidで重心の座標、props.orientationで向き(楕円の主軸と軸の間の角度)が得られる。
major_axis_lengthは長辺、minor_axis_lengthは短辺となる。
バウンディングボックスの表示
Bounding Boxとは,対象物を囲むことのできる最も小さい四角形のことで、props.bboxで取得できる。
表示範囲の設定
参考
Measure region properties — skimage 0.24.0 documentation
skimage.transform — skimage 0.24.0 documentation
skimage.measure — skimage 0.24.0 documentation
コメント