質問内容
二値画像の重心をライブラリを使って求めるとき,内部的な計算はどのようになっているのかが気になり質問させていただきます.
二値画像のデータをmask(正規化されており,重心を求めたい対象部分がすべて1で表され,それ以外は0とする)だとすると,対象の重心は以下のように求められると思います.
mu = cv2.moments(mask, True) x, y = int(mu["m10"]/mu["m00"]) , int(mu["m01"]/mu["m00"])
この時,例えば質量のある物体だと質量と座標の関係からモーメントを使って重心を求めることができると思いますが,今回の二値画像のような質量が与えられていない場合は内部的にどのように重心を計算しているのでしょうか.
調べても納得のいくような解説は見当たりませんでした.
おそらく,二値画像のある範囲を見たときにその範囲の中には1がどのくらいの密度で含まれているのかということを求め,それを質量として計算していく,ということを部分部分で計算していきモーメントを計算していくという流れを踏んでいるのかと考えたのですが正解かどうか分かりません.
初歩的で数学的な部分のお話ですが,どなたか分かりやすく解説していただけますとありがたいです.
よろしくお願いします.
あなたの回答
tips
プレビュー