【opencv】 旋转矩形

文章目录

    • 1. 旋转矩形
    • 2. 结果

1. 旋转矩形

//构建一个Mat(200*200)
Mat image(200, 200, CV_8UC3, Scalar(0));  
//设置一个旋转矩形3个参数分别为:质心(矩形中心),矩形长宽100、50 旋转角度:30 (clockwise)
//RotatedRect 函数返回一个旋转矩形对象
RotatedRect rRect = RotatedRect(Point2f(100,100), Size2f(100,50), 60);

Point2f vertices[4];      //定义4个点的数组
rRect.points(vertices);   //将四个点存储到vertices数组中
for (int i = 0; i < 4; i++)
    // 注意Scala中存储顺序 BGR
    line(image, vertices[i], vertices[(i+1)%4], Scalar(0,255,0));
// 返回外接矩形
// Rect brect = rRect.boundingRect();
// rectangle(image, brect, Scalar(255,0,0));

RotatedRect rRect1 = RotatedRect(Point2f(100,100), Size2f(100,50), 0);

Point2f vertices1[4];      //定义4个点的数组
rRect1.points(vertices1);   //将四个点存储到vertices数组中
for (int i = 0; i < 4; i++)
    // 注意Scala中存储顺序 BGR
    line(image, vertices1[i], vertices1[(i+1)%4], Scalar(0,255,255), 2);

imshow("rectangles", image);
waitKey(50000);

2. 结果

【opencv】 旋转矩形_第1张图片

你可能感兴趣的:(Opencv)