OpenCV 文档:minArearect()

该函数计算并返回指定点集的最小区域边界斜矩形。

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值最小的点。

扫描二维码关注公众号,回复: 9890032 查看本文章


参考:https://blog.csdn.net/duiwangxiaomi/article/details/92565308

发布了93 篇原创文章 · 获赞 2 · 访问量 3064

猜你喜欢

转载自blog.csdn.net/qq_40041064/article/details/104530998
今日推荐