vector<Point> vecPoints(imgBin.cols*imgBin.rows); //imgBin是背景为黑色的图像
findNonZero(imgBin, vecPoints); //查找非零像素的点(前景点),保存到vecPoints中
RotatedRect rRect = minAreaRect(Mat(vecPoints)); //获取前景点最小包围矩形
在OpenCV中,可以很方便的计算一个像素点到轮廓的距离,计算距离的函数为:
double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)
Parameters:
- contour – 输入参数轮廓。
- pt – 测试的点。
- measureDist – 如果为false的话,则函数计算符号,在轮廓外部在为-1,在轮廓内为1,在轮廓上,则为0。 如果为ture,则计算实际的像素符号距离,在轮廓外的点像素距离为负值,在内的点,像素距离为正值。