-1
私はstd::vector
のcv::Point2f
の値を持っています。 私は現在のマウスの位置であるPoint2f
を持っています。OpenCv、マウスクリックがPoint2fに近いかどうかを確認しますか?
cv::Point2f mousePnt;
std::vector<cv::Point2f> maskPnts;
私は現在のマウスクリックポイントは、ベクターに含まれているかどうかを確認する機能を持っている、そしてもしそうなら、それを削除します。
if (std::find(maskPnts.begin(), maskPnts.end(), mousePnt) != maskPnts.end())
{
std::cout << "found pnt: " << mousePnt << std::endl;
maskPnts.erase(std::remove(maskPnts.begin(), maskPnts.end(), mousePnt), maskPnts.end());
}
私がやりたい何のマージンを追加することですこのエラー。たとえば、マウスのクリックが既存の値の20ピクセル以内にある場合、その既存の値はベクトルから削除されます。
どうすればいいですか?
ありがとうございます。
なぜ単純な(サークルベースの)計算をしないのですか? – user0042
マウスをクリックして内側を検索すると円が作成されますか? – anti
ええと、トレランスはベクトル右に適用する必要がありますか?私は急いでここに考えていたかもしれない。しかし、とにかく、マウスのクリック点の周りの円内の一致するベクトル点をチェックすることも同様に機能するはずです。各ポイントの – user0042