当我们得到对象轮廓后,可用boundingRect()得到包覆此轮廓的最小正矩形,minAreaRect()得到包覆轮廓的最小斜矩形,minEnclosingCircle()得到包覆此轮廓的最小圆形,这些函式协助我们填补空隙,或者作进一步的对象辨识,boundingRect()函式返回的是正矩形,所以如果对象有倾斜的情形,返回的可能不是我们想要的结果。
Rect boundingRect(InputArray points)
- points:输入信息,可以为包含点的容器(vector)或是Mat。
- 返回包覆输入信息的最小正矩形。
矩形边框(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图
RotatedRect minAreaRect(InputArray points)
- points:输入信息,可以为包含点的容器(vector)或是Mat。
- 返回包覆输入信息的最小斜矩形。
void minEnclosingCircle(InputArray points, Point2f& center, float& radius)
- points:输入信息,可以为包含点的容器(vector)或是Mat。
- center:包覆圆形的圆心。
- radius:包覆圆形的半径。