cvEllipse

cvEllipse

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

基本介紹

  • 中文名:cvEllipse
  • img :圖像
  • center 橢圓圓心坐標
  • axes:軸的長度
函式原型,函式原理,函式調用,

函式原型

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 );
參數說明
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);
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,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;
}
運行之後結果如上圖所示。

相關詞條

熱門詞條

聯絡我們