OpenCV几何图形的绘制
rectangle(bg, rect, Scalar(0, 0, 255), 1, 8, 0);//rectangle(输出图片,矩形,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4))
circle(bg, Point(100, 100), 100, Scalar(255, 0, 0), -1, 8, 0);//circle(输出图片,圆心,半径,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4));
line(bg, Point(300, 300), Point(600, 600), Scalar(200, 0, 0), 3, 8, 0); //line(输出图片,第一个端点,第二个端点,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4));
ellipse(bg, rrt, Scalar(0, 255, 255), 2, 8);//ellipse(输出图片,旋转矩形:保存椭圆的圆心、长轴短轴的长度、旋转角度,线段颜色,线段粗细(-1为填充),绘制线段的方式)
椭圆参考资料:https://blog.csdn.net/gxiaob/article/details/9396955
旋转矩形参考资料:https://blog.csdn.net/mars_xiaolei/article/details/93081046
void QuickDemo::drawing_demo(Mat &image) {
Rect rect;
rect.x = 100;
rect.y = 100;
rect.width = 250;
rect.height = 300;
Mat bg = Mat::zeros(image.size(), image.type());
rectangle(bg, rect, Scalar(0, 0, 255), 1, 8, 0);//rectangle(输出图片,矩形,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4))
circle(bg, Point(100, 100), 100, Scalar(255, 0, 0), -1, 8, 0);//circle(输出图片,圆心,半径,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4));
line(bg, Point(300, 300), Point(600, 600), Scalar(200, 0, 0), 3, 8, 0); //line(输出图片,第一个端点,第二个端点,线段颜色,线段粗细(-1为填充),绘制线段的方式,缩放比例(0是不缩放,4是1/4));
RotatedRect rrt;
rrt.center = Point(200, 200);
rrt.size = Size(100, 200);
rrt.angle = 90.0;
ellipse(bg, rrt, Scalar(0, 255, 255), 2, 8);//ellipse(输出图片,旋转矩形:保存椭圆的圆心、长轴短轴的长度、旋转角度,线段颜色,线段粗细(-1为填充),绘制线段的方式)
Mat dst;
addWeighted(image, 0.7, bg, 0.3, 0, dst);
imshow("绘制演示", bg);
}