opencv 画图 (c++)

文章目录

    • 直线
      • 函数
      • 参数:
      • Demo
    • 矩形
      • 函数
      • 参数:
      • Demo
      • 函数
      • 参数:
      • Demo

直线

函数

void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)

参数:

img: 要绘制线段的图像。
pt1: 线段的起点。
pt2: 线段的终点。
color: 线段的颜色,通过一个Scalar对象定义。
thickness: 线条的宽度。
lineType: 线段的类型。可以取值8,4, 和CV_AA, 分别代表8邻接连接线,4邻接连接线和反锯齿连接线。默认值为8邻接。为了获得更好地效果可以选用CV_AA(采用了高斯滤波)。
shift: 坐标点小数点位数。

Demo

line(src,Point(10,10),Point(200,200),Scalar(0,0,255),5,CV_AA);

矩形

函数

void rectangle(Mat& img, Point pt1,Point pt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0);

void rectangle(Mat& img, Rect rec, const Scalar& color, int thickness=1, int lineType=8, int shift=0 );

参数:

img 图像。
pt1 矩形的一个顶点。
pt2 矩形对角线上的另一个顶点。
rec 矩形区域(x,y,width,height)。
color 线条颜色 (RGB) 或亮度(灰度图像 )(grayscale image。
thickness 组成矩形的线条的粗细程度。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形。
line_type 线条的类型;见cvLine的描述。
shift 坐标点的小数点位数。

Demo

rectangle (src, cv::Rect(10,10,50,50), Scalar(0, 0, 255), -1, 8, 0);
rectangle (src, Point(9, 9), Point(61, 61), Scalar(0, 255, 255), 2, 8, 0);

函数

void circle(CV_IN_OUT Mat& img, Point center, int radius, const Scalar& color, int thickness=1, int lineType=8, int shift=0); 

参数:

img 图像。
center 画圆的圆心坐标。
radius 圆的半径。
color为 圆的颜色。
thickness 圆线条的粗细,值越大则线条越粗,为负数则是填充效果
line_type 线条的类型;见cvLine的描述。
shift 坐标点的小数点位数。

Demo

circle(src,Point(100,100),40,CV_RGB(0,0,0),2,8,0);

你可能感兴趣的:(opencv,opencv,c++,人脸识别,人工智能)