Opencv画多边形
时间: 2024-06-14 14:04:48 浏览: 228
Opencv提供了绘制多边形的方法polylines()。使用该方法可以绘制闭合的或者不闭合的多边形。下面是一个示例代码:
```python
import cv2
import numpy as np
# 创建一个空白图像
image = np.zeros((512, 512, 3), np.uint8)
# 定义多边形的顶点坐标
points = np.array([[100, 100], [200, 200], [300, 150], [400, 300]], np.int32)
# 绘制多边形
cv2.polylines(image, [points], True, (0, 255, 0), 3)
# 显示图像
cv2.imshow("Polygon", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先创建了一个空白图像,然后定义了多边形的顶点坐标。接下来,使用polylines()方法绘制多边形,其中第一个参数是图像,第二个参数是多边形的顶点坐标,第三个参数表示是否闭合多边形,第四个参数是线条的颜色,第五个参数是线条的粗细。最后,使用imshow()方法显示图像。
相关问题
opencv 画多边形 c++
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()`函数填充了五边形。最后,我们显示了绘制好的图像。
opencv 画笔
在 OpenCV 中,可以使用画笔绘制各种形状和线条。首先,您需要创建一个画布来绘制,然后选择颜色和线宽。接下来,您可以使用不同的函数来绘制不同的形状和线条,如下所示:
1. 绘制线条:使用 `line()` 函数可以绘制一条直线。您需要指定起始点和终止点的坐标,以及颜色和线宽。
2. 绘制矩形:使用 `rectangle()` 函数可以绘制一个矩形。您需要指定矩形的左上角和右下角的坐标,以及颜色和线宽。
3. 绘制圆形:使用 `circle()` 函数可以绘制一个圆形。您需要指定圆心的坐标、半径大小,以及颜色和线宽。
4. 绘制椭圆:使用 `ellipse()` 函数可以绘制一个椭圆。您需要指定中心点的坐标、长轴和短轴的长度,旋转角度,起始角度和结束角度,以及颜色和线宽。
5. 绘制多边形:使用 `polylines()` 函数可以绘制一个多边形。您需要提供多边形的顶点坐标,并指定是否封闭多边形、颜色和线宽。
这些函数都需要指定一个画布(图像)来进行绘制操作。
阅读全文