OpenCV 中boundingRect、minAreaRect、minEnclosingCircle用法

当我们得到对象轮廓后,可用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:包覆圆形的半径。

猜你喜欢

转载自blog.csdn.net/chen134225/article/details/80899575