二値化された画像の重心から主軸方向と周囲長を求めるには

解決


サエ  2006-01-23 18:33:30  No: 60499  IP: 192.*.*.*

初めて投稿します。

過去スレから、画像処理の二値化による重心を求めるものを見つけ
参考にさせていただきました。

ここから質問なのですが、重心を求めて、周囲長・主軸方向を求める
にはどのようにしたらよいのでしょうか。

以下は、重心を求めるプログラムの一部です。

for(ix=1; ix<640;ix++){
  for(iy=0;iy<480;iy++){
    if (userimage[iy][ix]<=128){  //もし閾値が128以下であれば
      userimage[iy][ix]=0;    //閾値を0にする
      points = points++;
      sumX = sumX+ix;
      sumY = sumY+iy;
    }
    else{
      userimage[iy][ix]=255;    //それ以外であれば閾値を255にする
    }
  }
}
pgX = sumX / points;
pgY = sumY / points;

編集 削除
επιστημη  2006-01-24 06:34:00  No: 60500  IP: 192.*.*.*

> 周囲長・主軸方向を求めるにはどのようにしたらよいのでしょうか。

何の周囲? 何の主軸? そもそもそれはC/C++の質問ですか?

編集 削除
サエ  2006-01-24 10:43:51  No: 60501  IP: 192.*.*.*

すみません
二値化画像中には、二等辺三角形があります。
それにおける重心は求められました。

編集 削除
επιστημη  2006-01-24 12:15:47  No: 60502  IP: 192.*.*.*

それで? 
二等辺三角形の主軸って何ですか?

編集 削除
サエ  2006-01-24 13:04:08  No: 60503  IP: 192.*.*.*

ありがとうございます。
>二等辺三角形の主軸って何ですか?

二等辺三角形の頂点と重心を結んだ線のことです。
よく考えてみましたら頂点を求めたいといったほうがよかったです。

編集 削除
επιστημη  2006-01-24 16:40:18  No: 60504  IP: 192.*.*.*

> よく考えてみましたら頂点を求めたいといったほうがよかったです。

なるほど。どうやって頂点を求めるか、あなたはどうお考えですか? ?

編集 削除
サエ  2006-01-24 22:12:13  No: 60505  IP: 192.*.*.*

いろいろと調べた結果、頂点を求めるために一番銃身から遠い画素を探し出し【ユークリッド距離】、求めることができました。
ありがとうございました。

編集 削除