OpenCV 4.11.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::RotatedRect 类参考

此类表示平面上的旋转(即非正向)矩形。更多...

#include <opencv2/core/types.hpp>

cv::RotatedRect 的协作图

公共成员函数

 RotatedRect ()
 默认构造函数
 
 RotatedRect (const Point2f &center, const Size2f &size, float angle)
 
 RotatedRect (const Point2f &point1, const Point2f &point2, const Point2f &point3)
 
Rect boundingRect () const
 返回包含旋转矩形的最小正向整数矩形
 
Rect2f boundingRect2f () const
 返回包含旋转矩形的最小(精确)浮点矩形,不适用于图像
 
void points (Point2f pts[]) const
 
void points (std::vector< Point2f > &pts) const
 

公共属性

float angle
 返回旋转角度。当角度为 0、90、180、270 等时,矩形变为正向矩形。
 
Point2f center
 返回矩形的质心
 
Size2f size
 返回矩形的宽度和高度
 

详细描述

此类表示平面上的旋转(即非正向)矩形。

每个矩形由中心点(质心)、每条边的长度(由Size2f 结构表示)和旋转角度(以度为单位)指定。

下面的示例演示如何使用RotatedRect

Mat test_image(200, 200, CV_8UC3, Scalar(0));
RotatedRect rRect = RotatedRect(Point2f(100,100), Size2f(100,50), 30);
Point2f vertices[4];
rRect.points(vertices);
for (int i = 0; i < 4; i++)
{
line(test_image, vertices[i], vertices[(i+1)%4], Scalar(0,255,0), 2);
putText(test_image, vertex_names[i], vertices[i], FONT_HERSHEY_SIMPLEX, 1, Scalar(255,255,255));
}
Rect brect = rRect.boundingRect();
rectangle(test_image, brect, Scalar(255,0,0), 2);
imshow("rectangles", test_image);
waitKey(0);

参见
CamShiftfitEllipseminAreaRect,CvBox2D
示例
samples/cpp/camshiftdemo.cppsamples/cpp/fitellipse.cppsamples/cpp/minarea.cpp

构造函数和析构函数文档

◆ RotatedRect() [1/3]

cv::RotatedRect::RotatedRect ( )
Python
cv.RotatedRect() -> <RotatedRect 对象>
cv.RotatedRect(center, size, angle) -> <RotatedRect 对象>
cv.RotatedRect(point1, point2, point3) -> <RotatedRect 对象>

默认构造函数

◆ RotatedRect() [2/3]

cv::RotatedRect::RotatedRect ( const Point2f & center,
const Size2f & size,
float angle )
Python
cv.RotatedRect() -> <RotatedRect 对象>
cv.RotatedRect(center, size, angle) -> <RotatedRect 对象>
cv.RotatedRect(point1, point2, point3) -> <RotatedRect 对象>

完整构造函数

参数
center矩形的质心。
size矩形的宽度和高度。
angle顺时针方向的旋转角度。当角度为 0、90、180、270 等时,矩形变为正向矩形。

◆ RotatedRect() [3/3]

cv::RotatedRect::RotatedRect ( const Point2f & point1,
const Point2f & point2,
const Point2f & point3 )
Python
cv.RotatedRect() -> <RotatedRect 对象>
cv.RotatedRect(center, size, angle) -> <RotatedRect 对象>
cv.RotatedRect(point1, point2, point3) -> <RotatedRect 对象>

RotatedRect 的任意 3 个端点。它们必须按顺序给出(顺时针或逆时针)。

成员函数文档

◆ boundingRect()

Rect cv::RotatedRect::boundingRect ( ) const
Python
cv.RotatedRect.boundingRect() -> retval

返回包含旋转矩形的最小正向整数矩形

◆ boundingRect2f()

Rect2f cv::RotatedRect::boundingRect2f ( ) const
Python
cv.RotatedRect.boundingRect2f() -> retval

返回包含旋转矩形的最小(精确)浮点矩形,不适用于图像

◆ points() [1/2]

void cv::RotatedRect::points ( Point2f pts[]) const
Python
cv.RotatedRect.points() -> pts

返回旋转矩形的 4 个顶点

参数
pts用于存储矩形顶点的点数组。顺序为左下左上右上右下
注意
底部顶部左侧右侧是指原始矩形(角度为 0),因此在旋转 180 度后,左下点将位于矩形的右上角。
示例
samples/cpp/fitellipse.cppsamples/cpp/minarea.cpp

◆ points() [2/2]

void cv::RotatedRect::points ( std::vector< Point2f > & pts) const
Python
cv.RotatedRect.points() -> pts

成员数据文档

◆ angle

float cv::RotatedRect::angle

返回旋转角度。当角度为 0、90、180、270 等时,矩形变为正向矩形。

◆ center

Point2f cv::RotatedRect::center

返回矩形的质心

示例
samples/cpp/fitellipse.cpp.

◆ size

Size2f cv::RotatedRect::size

返回矩形的宽度和高度

示例
samples/cpp/fitellipse.cpp.

此类的文档是从以下文件生成的: