opencv 画多边形 c++
时间: 2023-11-16 18:00:13 浏览: 156
OpenCV提供了绘制多边形的函数`cv::polylines()`和`cv::fillPoly()`。其中,`cv::polylines()`用于绘制多边形的边框,`cv::fillPoly()`用于填充多边形。下面是一个简单的绘制多边形的示例代码:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 创建一个黑色的图像
Mat image = Mat::zeros(400, 400, CV_8UC3);
// 定义多边形的顶点
Point pts[1][5]; pts[0][0] = Point(100, 100);
pts[0][1] = Point(300, 100);
pts[0][2] = Point(300, 300);
pts[0][3] = Point(100,300);
pts[0][4] = Point(50, 200);
// 定义多边形的边数
int npts[] = { 5 };
// 绘制多边形的边框
polylines(image, pts, npts, 1, true, Scalar(0, 255, 255), 3);
// 填充多边形
fillPoly(image, pts, npts, 1, Scalar(255, 255, 255), 8);
// 显示图像
imshow("image", image);
waitKey(0);
return 0;
}
```
在这个示例中,我们创建了一个黑色的图像,并定义了一个五边形的顶点。然后,我们使用`cv::polylines()`函数绘制了五边形的边框,并使用`cv::fillPoly()`函数填充了五边形。最后,我们显示了绘制好的图像。
阅读全文