基于C++的OpenCV4入门基础--图形绘制
1,基本图形绘制API
注意事项:
基本图形绘制API中都有线条的颜色、线宽、线型和 shift :color: 线段的颜色,通过一个Scalar对象定义;thickness: 线条的宽度,默认是1;lineType: 线段的类型,可以取值8, 4, 和CV_AA, 分别代表8邻接连接线,4邻接连接线和反锯齿连接线。默认值为8邻接,为了获得更好地效果可以选用CV_AA(采用了高斯滤波);shift: 坐标点小数点位数,默认是0。
2,代码示例:
//创建全黑的画布
Mat canvas = Mat::zeros(Size(512,512), CV_8UC3);
namedWindow("canvas", WINDOW_AUTOSIZE);
//相关绘制API: line rectangle circle ellipse
//ps:如果线宽值小于0就是填充效果
line(canvas, Point(10,10), Point(400,400), Scalar(0,0,255), 1, LINE_8);//线段绘制
Rect rect(100,100,200,200);
rectangle(canvas, rect, Scalar(0, 255, 0), 1, LINE_8);//矩形绘制
circle(canvas, Point(256, 256), 100, Scalar(255,0,0), 1, LINE_8);//圆绘制
RotatedRect rrt;
rrt.center = Point2f(256, 256);
rrt.angle = 45.0;
rrt.size = Size(100, 200);
ellipse(canvas, rrt, Scalar(0,255,0), 1, LINE_8 );//椭圆绘制
imshow("canvas", canvas);
3,添加文字
putText API
putText(canvas, "hello opencv", Point(100, 50), FONT_HERSHEY_COMPLEX, 1.0, Scalar(0, 255, 0), 2, LINE_8);