圆
void cv::circle(InputOutputArray img, Point center, int radius, const Scalar& color,
int thickness = 1, LineTypes lineType = LINE_8, int shift = 0);
- img: 输入输出参数,表示待绘制的目标图像。
- center: 输入参数,表示圆心坐标,是一个 cv::Point 类型的对象。
- radius: 输入参数,表示圆的半径。
- color: 输入参数,表示绘制圆的颜色以及透明度,是一个 cv::Scalar 类型的对象。
- thickness: 可选参数,表示圆线条的宽度。默认值为 1 表示绘制一个像素宽度的圆,如果设置为负值,则表示绘制一条填充的圆。
lineType
: 可选参数,表示圆边界的类型,可以取以下几个值:
cv::LINE_4: 表示绘制四个相邻的点的圆边界,默认值。
cv::LINE_8: 表示绘制八个相邻的点的圆边界。
cv::LINE_AA: 表示绘制抗锯齿的圆边界。shift: 可选参数,表示坐标点像素值所占用的位数,默认值为 0。
矩形
void cv::rectangle(InputOutputArray img, Rect rect, const Scalar& color,
int thickness = 1, LineTypes lineType = LINE_8, int shift = 0)
- img: 输入输出参数,表示待绘制的目标图像。
- rect: 输入参数,表示矩形,是一个 cv::Rect 类型的对象,可以通过传递左上角和右下角坐标的方式来定义一个矩形。
- color: 输入参数,表示绘制矩形的颜色以及透明度,是一个 cv::Scalar 类型的对象。
- thickness: 可选参数,表示矩形边框的宽度。默认值为 1 表示绘制一个像素宽度的矩形,如果设置为负值,则表示绘制一条填充的矩形。
- lineType: 可选参数,表示矩形边框的类型,可以取以下几个值:
cv::LINE_4: 表示绘制四个相邻的点的矩形边框,默认值。
cv::LINE_8: 表示绘制八个相邻的点的矩形边框。
cv::LINE_AA: 表示绘制抗锯齿的矩形边框。 - shift: 可选参数,表示坐标点像素值所占用的位数,默认值为 0。
Rect
函数的基本形式是Rect(x, y, width, height)
,其中x和y代表矩形左上角的坐标,width
和height
分别代表矩形的宽度和高度。
如果创建一个Rect对象rect(100, 50, 50, 100)
,有以下常用函数1
2
3
4
5
6
7
8
9
10
11
12
13rect.area(); //返回rect的面积 5000
rect.size(); //返回rect的尺寸 [50 × 100]
rect.tl(); //返回rect的左上顶点的坐标 [100, 50]
rect.br(); //返回rect的右下顶点的坐标 [150, 150]
rect.width(); //返回rect的宽度 50
rect.height(); //返回rect的高度 100
rect.contains(Point(x, y)); //返回布尔变量,判断rect是否包含Point(x, y)点