在Cv2.DrawContours中绘制单个点集
时间: 2024-10-22 16:04:27 浏览: 17
在OpenCVSharp中,`Cv2.DrawContours`用于在图像上绘制多边形、曲线或者其他形状,通常用于显示轮廓。如果你只想绘制单个点集而不是轮廓,你应该使用`cv2.circle()`或`cv2.point()`函数。
例如,如果你想在图像中添加一个点,你可以这样做:
```csharp
using OpenCvSharp;
// 读取图像
Mat img = Cv2.ImRead("image.jpg");
// 创建一个坐标点
Point pointToDraw = new Point(x, y); // x 和 y 是你想绘制点的像素坐标
// 设置点的颜色和大小
Scalar color = new Scalar(0, 255, 0); // 绿色
int radius = 3; // 点的半径
// 使用cv2.circle()绘制点
Cv2.Circle(img, pointToDraw, radius, color, -1, LineType.FILLED, new MCvScalar());
// 显示结果
Cv2.imshow("Single Point", img);
Cv2.waitKey(0);
Cv2.destroyAllWindows();
```
在这里,`Circle()`函数的第一个参数是你要绘制点的位置,第二个参数是点的中心位置,第三个参数是点的半径,第四个参数是填充颜色,`-1`表示填充整个圆圈,`LineType.FILLED`指定为填充模式。
如果你想画一系列的点,可以创建一个`Point[]`数组,并多次调用`cv2.drawMarker()`函数,它也支持点的绘制。
阅读全文