cv::RotatedRect
时间: 2023-09-18 18:16:14 浏览: 80
`cv::RotatedRect`是OpenCV中的一个类,用于表示旋转的矩形。它是由中心点坐标、宽度、高度和旋转角度组成的。这个类常用于图像处理和计算机视觉中的目标检测和跟踪等任务。
你可以使用`cv::RotatedRect`类来创建一个旋转矩形对象,并通过它的成员函数来访问和操作矩形的属性,比如获取矩形的中心坐标、角度和边界框等信息。你也可以使用`cv::RotatedRect`类的方法进行矩形的旋转、缩放和平移等操作。
以下是一个简单的示例代码,展示了如何使用`cv::RotatedRect`类来创建和操作旋转矩形:
```cpp
#include <opencv2/opencv.hpp>
int main() {
cv::Point2f center(100, 100);
cv::Size2f size(200, 100);
float angle = 30;
cv::RotatedRect rotatedRect(center, size, angle);
cv::Point2f rectPoints[4];
rotatedRect.points(rectPoints);
// 打印旋转矩形的四个角点坐标
for (int i = 0; i < 4; i++) {
std::cout << "Point " << i << ": (" << rectPoints[i].x << ", " << rectPoints[i].y << ")" << std::endl;
}
// 获取旋转矩形的中心坐标
cv::Point2f rectCenter = rotatedRect.center;
std::cout << "Center: (" << rectCenter.x << ", " << rectCenter.y << ")" << std::endl;
// 获取旋转矩形的宽度和高度
cv::Size2f rectSize = rotatedRect.size;
std::cout << "Size: " << rectSize.width << " x " << rectSize.height << std::endl;
// 获取旋转矩形的角度
float rectAngle = rotatedRect.angle;
std::cout << "Angle: " << rectAngle << std::endl;
return 0;
}
```
这只是一个简单的示例,你可以根据需要使用`cv::RotatedRect`类进行更多复杂的操作。
阅读全文