OpenCV函数pointPolygonTest():
C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)
用于判断一个点是否在轮廓中 :
当measureDist设置为true时,若返回值为正,表示点在轮廓内部,返回值为负,表示在轮廓外部,返回值为0,表示在轮廓上。
当measureDist设置为false时,若返回值为+1,表示点在轮廓内部,返回值为-1,表示在轮廓外部,返回值为0,表示在轮廓上。
// 窗口坐标转换图片坐标
Point2f srcPt;
srcPt.x = pt.x()*srcSize.width()*1.0 / lbSize.width();
srcPt.y = pt.y()*srcSize.height()*1.0 / lbSize.height();
for (int i = 0; i < pointsresult5.size(); i++)
{
if (pointPolygonTest(pointsresult5[i], srcPt, false) == 1)
{
strRate = QString::number(contourRate[i] * 100)+"%";
break;
}
}
本文深入解析了OpenCV中的pointPolygonTest函数,该函数用于判断一个点是否位于给定轮廓内部、外部或轮廓上。文章详细介绍了函数的参数设置及返回值意义,特别是measureDist参数如何影响判断结果。

3741

被折叠的 条评论
为什么被折叠?



