该函数计算并返回指定点集的最小区域边界斜矩形。
RotatedRect minAreaRect(InputArray points)
points:输入信息,可以为包含点的容器(vector)或是Mat。
返回包覆输入信息的最小斜矩形,参数有最小外接矩形的中心center,(宽度,高度),旋转角度等。
绘制最小斜矩形的方法如下:
Point2f rectVertex[4];
rect.points(rectVertex);
for (int i = 0; i < 4; i++)
{
line(srcImage, rectVertex[i], rectVertex[(i + 1) % 4], Scalar(100, 255, 0), 2, 8);
}
注意:
1. 旋转角度θ是水平轴(x轴)逆时针旋转,与碰到的矩形的第一条边的夹角。并且这个边的边长是width,另一条边边长是
height。也就是说,在这里,width与height不是按照长短来定义的。
2. 在opencv中,坐标系原点在左上角,相对于x轴,逆时针旋转角度为负,顺时针旋转角度为正。所以,θ∈(-90度,0]。
3. 获取的4个顶点中顺序为顺时针,第一个点位为y值最小的点。
参考:https://blog.csdn.net/duiwangxiaomi/article/details/92565308