函数原型:
<div id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:419e9572-f0dc-4690-9370-b0df3fc7670f" class="wlWriterEditableSmartContent" style="float: none; margin: 0px; display: inline; padding: 0px;">
<pre class="brush: c;">void cvCircle (
CvArr* array,
CvPoint center,
intradius,
CvScalar color,
intthickness = 1,
intconnectivity = 8
);
void cvEllipse(
CvArr* img,
CvPoint center,
CvSize axes,
double angle,
double start_angle,
double end_angle,
CvScalar color,
intthickness =1,
intline_type = 8
);
// 使用外接矩形绘制椭圆
void cvEllipseBox(
CvArr* img,
CvBox2D box,
CvScalar color,
intthickness = 1,
intline_type = 8,
intshift = 0
);</pre>
</div>
画圆也很简单,参数和前面介绍的基本相同,这里就不多介绍了。对于圆形和矩阵等很多封闭图形来说,thickness参数也可以设置为CV_FILL,其值是-1,;其结果是使用与边一样的颜色填充封闭空间。
椭圆函数比cvCircle( )略复杂一点。主要的新成员是axes属性,其类型为CvSize,其结构前面已经介绍过,是一个包含宽度和高度的简单结构。同样,可以利用其构造函数cvSize( )得到一个CvSize结构。在这种情况下,height和width参数分别代表椭圆的长短半轴长。 angle是指偏离主轴的角度,从X轴算起,逆时针方向为正。cvcircle同样,start_angle和end_angle表示弧线开始和结束位置的角度。因此,一个完整的椭圆必须分别将这两个值分别设为0°和360°。
除了cvEllipse( )函数外,还可以使用外接矩形的方法绘制椭圆,函数是cvEllipseBox( )。该函数用到一个CvBox2D结构:
<div id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:9ea67bcc-7078-4381-b06b-a5134f7cfd33" class="wlWriterEditableSmartContent" style="float: none; margin: 0px; display: inline; padding: 0px;">
<pre class="brush: c;">typedef struct {
CvPoint2D32f center,
CvSize2D32f size,
floatangle
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-21679-2.html
反咬一口啊