1、直线
函数:void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
参数介绍:
1.img: 要绘制线段的图像。
2.pt1: 线段的起点。
3.pt2: 线段的终点。
4.color: 线段的颜色,通过一个Scalar对象定义。
5.thickness: 线条的宽度。
6.lineType: 线段的类型。可以取值8,4, 和CV_AA, 分别代表8邻接连接线,4邻接连接线和反锯齿连接线。默认值为8邻接。为了获得更好地效果可以选用CV_AA(采用了高斯滤波)。
7.shift: 坐标点小数点位数。
demo:
line(img,Point(10,10),Point(200,200),Scalar(0,0,255),5,CV_AA);
2、画圆函数.(空心圆和实心圆)
circle(InputOutputArray img,Point center,int radius,const Scalar & color,int thickness = 1,int lineType = LINE_8,int shift = 0)
参数介绍:
1、img:用于画图的图像。
2、center :圆心的位置。
3、radius:半径。
4、color:颜色。
5、thickness:如果为正——圆形轮廓的粗细、负值——表示要绘制实心圆。
6、lineType:圆边界的类型。
7、shift:中心坐标和半径值中的小数位数。
eg:
#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main() {
//创建图像
Mat img = Mat::zeros(Size(520, 520), CV_8UC3);
//绘制空心圆
circle(img, Point(img.cols / 2, img.rows / 2), 100, Scalar(255, 0, 0), 2);
//绘制空心圆
circle(img, Point(img.cols / 2, img.rows / 2), 80, Scalar(0,150, 0), -2);
imshow("img",img);
waitKey();
destroyAllWindows();
return 0;
}
运行结果:
3、矩形
函数:(有两种方法)
1):
void rectangle(Mat& img, Point pt1,Point pt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0);
2):
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 坐标点的小数点位数。
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);
#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main() {
//创建图像
Mat img = Mat::zeros(Size(520, 520), CV_8UC3);
rectangle(img, Rect(20, 20, 100,100), Scalar(200, 0, 150), -1, 8, 0);
rectangle(img, Point(9, 7), Point(180, 200), Scalar(0, 150, 150), 2, 8, 0);
imshow("img",img);
waitKey();
destroyAllWindows();
return 0;
}
运行结果: