请输入您要查询的百科知识:

 

词条 cvEllipse
释义

函数原型

void cvEllipse( CvArr* img, CvPoint center, CvSize axes, double angle, double start_angle, double end_angle, CvScalar color, int thickness=1, int line_type=8, int shift=0 );

参数说明

img :图像。

center :椭圆圆心坐标。

axes :轴的长度。

angle:偏转的角度。

start_angle :圆弧起始角的角度。.

end_angle :圆弧终结角的角度。

color :线条的颜色。

thickness :线条的粗细程度。

line_type :线条的类型。

shift :圆心坐标点和数轴的精度。

函数原理

函数cvEllipse用来绘制或者填充一个简单的椭圆弧或椭圆扇形。圆弧被ROI矩形所忽略。反走样弧线和粗弧线使用线性分段近似值。

函数调用

为了更好地说明该函数的使用,将给出以下例子,从而进一步解释其中参数的含义。

int main(int argc, _TCHAR* argv[])

{

CvSize sz;//图像尺寸

sz.height= 600;

sz.width = 800;

CvPoint centerpoint;//椭圆原点

centerpoint.x=400;

centerpoint.y=300;

CvSize ellsize;//椭圆轴长度,长轴为80,短轴为50

ellsize.height=50;

ellsize.width=80;

cvNamedWindow("image1",CV_WINDOW_AUTOSIZE);

IplImage *image= cvCreateImage(sz,IPL_DEPTH_8U,3);

cvEllipse(image,centerpoint,ellsize,45,0,360,cvScalar(0,0,0),1,8,0);//转45度,顺时针

cvLine(image,cvPoint(200,300),cvPoint(600,300),cvScalar(0,0,0),1,8,0);

cvLine(image,cvPoint(300,200),cvPoint(500,400),cvScalar(0,0,0),1,8,0);

cvEllipse(image,centerpoint,cvSize(20,20),0,0,45,cvScalar(20,48,160),1,8,0);

cvEllipse(image,centerpoint,ellsize,45,0,60,cvScalar(0,255,00),5,8,0);//画一段弧,说明起始角度和终止角度

CvFont font;//以下用文字标识说明

double hScale=0.5;

double vScale=0.5;

int lineWidth=1;

cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX|CV_FONT_ITALIC,hScale,vScale,0,lineWidth,8);

cvPutText(image,"angle",cvPoint(430,320),&font,cvScalar(150,0,100));

cvPutText(image,"start angle",cvPoint(470,360),&font,cvScalar(150,0,100));

cvPutText(image,"end angle",cvPoint(380,380),&font,cvScalar(150,0,100));

cvShowImage("image1",image);

cvSaveImage("image1.jpg",image);

cvWaitKey(0);

cvReleaseImage(&image);

cvDestroyWindow("image1");

return 0;

}

运行之后结果如上图所示。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/1 23:07:13