OpenCV HoughCircles cvRound

时间:2013-06-21 10:03:16

标签: android opencv eclipse-cdt

我刚刚在opencv上关注了圆圈检测的例子http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

vector<Vec3f> circles;
/// Apply the Hough Transform to find the circles
HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 );
/// Draw the circles detected
for( size_t i = 0; i < circles.size(); i++ )
{
   Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
   int radius = cvRound(circles[i][2]);
   ...

然而,我正在使用eclipse而不接受函数调用

cvRound(圆圈[I] [0])

Invalid arguments ' Candidates are: int cvRound(double) '

我试图在属性中为gnu c和c ++添加包含多个目录 - &gt; c / c ++ general - &gt;路径和符号例如

ndkroot /来源/ CXX-STL .... /包括

native / jni / include

用于opencv等

但它仍然不接受cvRound功能,是否有东西丢失?

事先提前

1 个答案:

答案 0 :(得分:3)

cvRound函数只是一个将double值转换为整数的舍入函数。两种方式:

1-您可以制作自己的舍入功能并使用它。

int Round(double x){
int y;
if(x >= (int)x+0,5)
   y = (int)x++;
else
   y = (int)x;
return y;
}

2-不仅包括C ++,还包括opencv的C API。 (包括/ OpenCV的/)