-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