知识点
-RECT应用
-rectangle应用
void QUickdemo::drawing_demo(Mat& image)
{
Rect rect;--Rect rect--声明一个名为 rect 的 cv::Rect 类型的变量,cv::Rect 通常用于表示矩形区域。
rect.x = 100;--rect.x = 100;--设置矩形的左上角横坐标为 100。
rect.y = 100;rect.y = 100;--设置矩形的左上角纵坐标为 100。
rect.width = 200;rect.width = 200;--设置矩形的宽度为 200。
rect.height = 200;--设置矩形的高度为 200。
rectangle(image, rect, Scalar(0, 0, 255), 2, 8, 0);--rectangle(image, rect, Scalar(0, 0, 255), 2, 8, 0);在 image 图像上绘制矩形。参数解释如下:
• image:要绘制矩形的图像。
• rect:要绘制的矩形区域。
• Scalar(0, 0, 255):矩形的颜色,这里是红色(蓝色通道为 0,绿色通道为 0,红色通道为 255)。
• 2:矩形边框的粗细。
• 8:连接类型,这里使用默认值。
• 0:位移,这里使用默认值。
circle(image,Point(350,150),15,Scalar(255,0,0),2,8,0);--
● circle(image, Point(350, 150), 15, Scalar(255, 0, 0), 2, 8, 0);:
● image:要在其上绘制圆形的图像。
● Point(350, 150):圆形的圆心坐标。
● 15:圆形的半径。
● Scalar(255, 0, 0):圆形的颜色,这里是蓝色(蓝色通道为 255,绿色通道为 0,红色通道为 0)。
● 2:圆形边框的粗细。
● 8:连接类型,通常表示 8 连接,即允许对角线方向的连接。
● 0:位移,一般使用默认值。
line(bg,Point(350,350),Point(750,750),Scalar(0,0,255),4,8,0);
● line(bg, Point(350, 350), Point(750, 750), Scalar(0, 0, 255), 4, 8, 0);:
● bg:要在其上绘制直线的图像。
● Point(350, 350):直线的起点坐标。
● Point(750, 750):直线的终点坐标。
● Scalar(0, 0, 255):直线的颜色,这里是红色(蓝色通道为 0,绿色通道为 0,红色通道为 255)。
● 4:直线的粗细。
● 8:连接类型,通常表示 8 连接。
● 0:位移,一般使用默认值。
RotatedRect rrt;
rrt.center = Point(200, 200);
rrt.size = Size(100, 200);
rrt.angle = 0, 0;
ellipse(bg, rrt, Scalar(0, 255, 255), 2, 8);--
1. RotatedRect rrt;:声明一个名为rrt的RotatedRect类型的变量。RotatedRect通常用于表示一个带有旋转角度的矩形区域,它可以被转换为椭圆来进行绘制。
2. rrt.center = Point(200, 200);:设置旋转矩形的中心坐标为(200, 200)。
3. rrt.size = Size(100, 200);:设置旋转矩形的大小,宽度为 100,高度为 200。
4. rrt.angle = 0, 0;:这里似乎有误,应该是设置旋转角度为一个具体的值,而不是0, 0。假设设置旋转角度为 45 度,可以写成rrt.angle = 45。
5. ellipse(bg, rrt, Scalar(0, 255, 255), 2, 8);:在图像bg上绘制一个椭圆,该椭圆由旋转矩形rrt确定。参数解释如下:
● bg:要绘制椭圆的图像。
● rrt:确定椭圆的旋转矩形。
● Scalar(0, 255, 255):椭圆的颜色,这里是青色(蓝色通道为 0,绿色通道为 255,红色通道为 255)。
● 2:椭圆边框的粗细。
● 8:连接类型,通常表示 8 连接。
imshow("绘制演示",image);
}
void QUickdemo::drawing_demo(Mat& image)
{
Rect rect;
rect.x = 350;
rect.y = 150;
rect.width = 500;
rect.height = 500;
Mat bg = Mat::zeros(image.size(), image.type());
rectangle(bg, rect, Scalar(0, 255, 0), -1, LINE_AA, 0);---1代表填充
circle(bg,Point(350,150),15,Scalar(255,0,0),-1,8,0);
Mat dst= Mat::zeros(image.size(), image.type());
addWeighted(image,0.7, bg, 0.3, 0, dst);--第六节 滑动操作调节对比度-CSDN博客
imshow("绘制演示",dst);
}