輪郭追跡を行うと周囲長を求めることができますが、この周囲長を用いた代表的な特徴量の円形度を紹介します。
円形度とは円らしさを表す値で値が1となる時、もっとも円に近くなります。
定義は面積(画素数)をS、周囲長をLとすると、
円形度 = 4πS/L2
となります。
【円形度の例】
面積S = 96 周囲長L = 34.627円形度 = 1.006 |
|
面積S = 87 周囲長L = 33.456円形度 = 0.977 |
なぜそうなるのか?理屈は簡単で、
円の半径をrとすると、円の面積Sはπr2、周囲長Lは2πrより、
円形度 = 4πS / L2 = 4π(πr2) / (2πr)2 = 1
となり、円形度4πS/L2が1に近いときもっとも円らしいということになります。
関連記事
【OpenCV-Python】円形度
円形度とは、図形の面積と周囲長の関係から、円らしさの値を求めます。 円形度の詳細は以下のページを参照ください。 OpenCV的には、図形の面積はcontourArea()関数で、周囲長はarcLength()関数で求める事ができるので、これ...
コメント
[…] 円形度とは円らしさを表す値で1に近いほど円に近くなります。 […]