私たちは車両カウントのプロジェクトを行っています(OpenCVを使用)。ここで、1つのフレーム内のオブジェクトの重心から隣接するフレームまでのユークリッド距離を見つける必要がありますか?私たちのプロジェクトでは、重心を見つけるまでに完了しました。
3667 次
2 に答える
5
キャプチャ間でカメラが移動していないと仮定しますので、登録について心配する必要はありません。
cv::Point
取得した2つの図心を表す2つのオブジェクトが必要です。ユークリッド距離は次のように計算できます。
double euclideanDist(Point p, Point q)
{
Point diff = p - q;
return cv::sqrt(diff.x*diff.x + diff.y*diff.y);
}
int main(int /*argc*/, char** /*argv*/)
{
Point centroid1(0.0, 0.0);
Point centroid2(3.0, 4.0);
cout << euclideanDist(centroid1, centroid2) << endl;
return 0;
}
これは5(つまり、3-4-5三角形)を出力します。
お役に立てば幸いです。
于 2012-03-07T14:24:14.453 に答える
0
p
およびq
が 型の場合、用語を または のいずれかにint
型キャストするようにしてください。こうすることで、より正確なユークリッド距離を得ることができます。(diff.x*diff.x + diff.y*diff.y)
double
float
于 2013-12-02T18:17:37.653 に答える