选择图片
绘制时共有的默认参数
比如矩形
public static void Rectangle(Mat img, Rect rect,
Scalar color, 绘制的颜色
int thickness = 1, 绘制线条的粗细,如果为-1则填充区域
LineTypes lineType = LineTypes.Link8, 绘制类型 默认选择8连通域
int shift = 0) 绘制中心点的小数点位数,默认为0 如果中心点不是整数可以进行修改
public static void Drawimage()
{
var Src_Images = Cv2.ImRead("lenna.png");
//绘制矩形***********************************
//使用Point的方式
OpenCvSharp.Point p1 = new OpenCvSharp.Point(10, 10);
OpenCvSharp.Point p2 = new OpenCvSharp.Point(20, 20);
Cv2.Rectangle(Src_Images, p1, p2, Scalar.Green);
//使用Rect的方式
Rect roi = new Rect(100, 100, 150, 150);
Cv2.Rectangle(Src_Images, roi, Scalar.Green);
//***********************************
//绘制矩形圆
//使用中心点+直径的方式
OpenCvSharp.Point Centerp1 = new OpenCvSharp.Point(10, 10);
Cv2.Circle(Src_Images, Centerp1, 10, Scalar.Green );
//使用int 中心点+直径的方式
Cv2.Circle(Src_Images, 50, 50, 10, Scalar.Green);
//绘制椭圆
OpenCvSharp.Point Centerp2 = new OpenCvSharp.Point(100, 100);
Cv2.Ellipse(Src_Images, Centerp2, new OpenCvSharp.Size(30, 10), 0, 0, 360, Scalar.Green);
OpenCvSharp.Point Centerp = new OpenCvSharp.Point(120, 120);
RotatedRect elip = new RotatedRect(Centerp, new Size2f(10, 30), 0);
Cv2.Ellipse(Src_Images, elip, Scalar.Green);
//绘制直线
Cv2.Line(Src_Images, 120, 120, 200, 200, Scalar.Red);
Cv2.Line(Src_Images, new OpenCvSharp.Point(100, 300), new OpenCvSharp.Point(200, 200), Scalar.Red);
//添加文本
Cv2.PutText(Src_Images, "123456", new Point(100,100), HersheyFonts.HersheyComplex, 1, Scalar.AliceBlue);
//绘制带箭头的直线
Cv2.ArrowedLine(Src_Images, new OpenCvSharp.Point(300, 100), new OpenCvSharp.Point(200, 200), Scalar.Red);
// Cv2.ImShow("原图", Src_Images);
Cv2.ImShow("绘制后的图像", Src_Images);
}