如何获取cv::RotatedRect对象的四个点
时间: 2024-01-09 21:04:16 浏览: 38
要获取cv::RotatedRect对象的四个点,您可以使用cv::RotatedRect类的函数cv::RotatedRect::points()。这个函数将返回一个cv::Point2f类型的数组,其中包含cv::RotatedRect对象的四个顶点。以下是一个示例代码:
```
cv::RotatedRect rotatedRect = cv::RotatedRect(cv::Point2f(50, 50), cv::Size2f(100, 50), 30);
cv::Point2f vertices[4];
rotatedRect.points(vertices);
for(int i = 0; i < 4; i++) {
std::cout << "Vertex " << i << ": (" << vertices[i].x << ", " << vertices[i].y << ")" << std::endl;
}
```
在这个示例中,我们创建一个cv::RotatedRect对象,它的中心点是(50,50),大小为100x50,旋转角度为30度。然后我们调用cv::RotatedRect::points()函数来获取顶点,并打印它们的坐标。
输出应该类似于:
```
Vertex 0: (96.1803, 23.5534)
Vertex 1: (3.81966, 23.5534)
Vertex 2: (3.81966, 76.4466)
Vertex 3: (96.1803, 76.4466)
```
注意,cv::RotatedRect::points()函数返回的顶点是按照顺序排列的,以便您可以使用它们来绘制cv::RotatedRect对象。