[Opencv]回転する長方形

記事のディレクトリ

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.結果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_35632833/article/details/107270199