c++版opencv如何填充一个旋转矩形RotatedRect
时间: 2023-07-04 17:09:44 浏览: 610
在C++版OpenCV中,可以使用 `cv::RotatedRect` 类来表示旋转矩形。要填充旋转矩形,可以使用 `cv::fillConvexPoly()` 函数来填充旋转矩形的边界。
下面是一个示例代码,演示如何填充一个旋转矩形:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 创建一个旋转矩形
RotatedRect rect(Point2f(100, 100), Size2f(200, 100), 30);
// 获取旋转矩形的四个顶点
Point2f vertices[4];
rect.points(vertices);
// 创建一个空白图像
Mat img = Mat::zeros(Size(500, 500), CV_8UC3);
// 将旋转矩形的四个顶点转换为整数坐标
Point pts[4];
for (int i = 0; i < 4; i++) {
pts[i] = vertices[i];
}
int npts[] = { 4 };
// 填充旋转矩形的边界
fillConvexPoly(img, pts, npts, 1, Scalar(255, 0, 0), LINE_AA);
// 显示结果图像
imshow("Result", img);
waitKey(0);
return 0;
}
```
在这个示例中,我们首先创建了一个旋转矩形,然后使用 `RotatedRect::points()` 函数获取旋转矩形的四个顶点。接下来,我们创建一个空白图像,并将旋转矩形的四个顶点转换为整数坐标。最后,我们使用 `fillConvexPoly()` 函数填充旋转矩形的边界,并显示结果图像。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)