OpenCV 3.0でC++を使用して、SimulCamの基本形式を作成しています。私が追跡したオブジェクトボールが私が描いた線を横切るかどうかを見つけるにはどうすればよいですか?
現在、オブジェクトボールが出力ウィンドウに描画された線と交差/交差しているかどうかを確認する方法を見つけることに取り組んでいます。
球は輪郭を使用して追跡されており、最終的にはこの交差が起こる正確なフレーム番号を調べたいと思います。
まず、オブジェクトボールが描画された線と交差/交差したかどうかを確認する方法を理解したいと思います。
Scene with ball moving towards line
私はオブジェクトの輪郭を持って、私は交差点のチェックを実行する方法を理解したいと思います。
コード輪郭を見つけ、オブジェクトトラッキングのために:
findContours(resizedThresh, contourVector, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
contourVector.resize(contourVector.size());
line(resizedF_Fast, Point(300, 0), Point(300, 360), Scalar(255), 2, 8);
for (size_t i = 0; i < contourVector.size(); i++) {
approxPolyDP(Mat(contourVector[i]), contourVector[i], 0.01*arcLength(contourVector[i], true), true);
double area = contourArea(contourVector[i]);
if (contourVector[i].size() > 5 && (area > 200)) {
++circlesC;
drawContours(resizedF_Fast, contourVector, i, Scalar(255, 255, 255), 2, CV_AA, hierarchy, abs(1));
searchForMovement(resizedThresh, resizedF_Fast);
}
}
を私は他のいくつかの研究を行っている、と私はlineIteratorを使用してに探してきたが、私は全くわかりません。
潜在的な原油コードの謝罪、初心者はここに。どんな助けでも大歓迎です。
ラインはどのように定義されていますか?それは常に垂直かそれは何でもかまいませんか? – Sunreef
この場合、線は常に垂直です。さらにラインを下ろすと、フレームから抽出されたフィーチャ、すなわち風景などの開始フィニッシュラインに変化する。 – AnthonyGR1