官方给出的参数说明
代码:
#include<iostream>
#include<opencv2/imgproc.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/core.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src(200, 200, CV_8UC3,Scalar(0));
namedWindow("src");
imshow("src", src);
// 设置一个旋转矩形3个参数分别为中心,长,宽和旋转角度
// RotatedRect返回的是一个旋转矩形对象
RotatedRect rect = RotatedRect(Point2f(100, 100), Size2f(100, 50), 45);
// 定义4个点的数组
Point2f arr[4];
// 将这四个点存储到arr数组中
rect.points(arr);
Point2f pt1, pt2;
for (int i = 0; i < 4; i++)
{
// 1
pt1.x = arr[i].x;
pt1.y = arr[i].y;
pt2.x = arr[(i + 1) % 4].x;
pt2.y = arr[(i + 1) % 4].y;
line(src, pt1, pt2, Scalar(0, 255, 0), 2, 8);
// 2
//line(src, arr[i], arr[(i + 1) % 4], Scalar(0, 255, 0), 2);
}
//返回外接矩形并绘制
Rect rect1 = rect.boundingRect();
rectangle(src, rect1, Scalar(255, 0, 0));
namedWindow("dst");
imshow("dst", src);
waitKey(0);
return 0;
}
结果: