目录
基本图像绘制涉及到的绘制函数如下:
- 用于绘制直线的line函数
- 用于绘制椭圆的ellipse函数
- 用于绘制矩形的rectangle函数
- 用于绘制圆的circle函数
- 用于绘制填充的多变形的fillPoly函数
下边代码WINDOW_WIDTH有如下的宏定义:
# define WINDOW_WIDTH 600 //定义窗口大小的宏
1、DrawEllipse()函数的写法
//-------------------------------【DrawEllipse( )函数】--------------------------------
// 描述:自定义的绘制函数,实现了绘制不同角度、相同尺寸的椭圆
//-----------------------------------------------------------------------------------------
void DrawEllipse( Mat img, double angle )
{
int thickness = 2;
int lineType = 8;
//调用OpenCV中ellipse函数
ellipse( img,
Point( WINDOW_WIDTH/2, WINDOW_WIDTH/2 ),
Size( WINDOW_WIDTH/4, WINDOW_WIDTH/16 ),
angle,
0,
360,
Scalar( 255, 129, 0 ),
thickness,
lineType );
}
上述代码,调用了OpenCV中ellipse函数:
- 椭圆绘制在img上
- 椭圆中心点为( WINDOW_WIDTH/2, WINDOW_WIDTH/2 )
- 大小位于矩形( WINDOW_WIDTH/4, WINDOW_WIDTH/16 )内
- 椭圆旋转角度为angle,扩展的弧度从0度到360度。从水平方向逆时针为正,顺时针为负
- 图色为Scalar(255, 129, 0)代表的蓝色
- 线宽(thickness)为2
- 线型(lineType)为8(8联通线型)
2、DrawFilledCircle()函数的写法
//-----------------------------------【DrawFilledCircle( )函数】---------------------------
// 描述:自定义的绘制函数,实现了实心圆的绘制
//-----------------------------------------------------------------------------------------
void DrawFilledCircle( Mat img, Point center )
{
int thickness = -1;
int lineType = 8;
circle( img,
center,
WINDOW_WIDTH/32,
Scalar( 0, 0, 255 ),
thickness,
lineType );
}
&nb