如何从两个cv :: Point2f创建cv :: RotatedRect?

时间:2014-04-10 12:49:30

标签: c++ opencv image-processing

我有两个 cv :: Point2f 点,代表矩形的左上角和右下角。

OpenCV中是否有一种简单的方法可以从中创建cv::RotatedRect

1 个答案:

答案 0 :(得分:5)

两个角点(如cv :: Rect)中没有RotatedRect构造函数,因为我们需要知道旋转角度。

如果我们假设这是一个“直”矩形,我们可以做类似的事情:

Point a(0,0);   // corner point A
Point b(10,10); // corner point B
float angle = 0.f;


RotatedRect rr(0.5*(a+b), // center 
               Size2f((float)fabs(a.x-b.x),fabs(a.y-b.y)), // size
               angle);

如你所见,这并不像cv :: Rect那样“简单”。