词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。