我刚刚在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 不接受该函数调用PROJEKT

cvRound(circles [i] [0])
Invalid arguments ' Candidates are: int cvRound(double) '

我试图为属性中的gnu c和c++添加一些目录-> c / c++ general->路径和符号

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

本地/ JNI /包括

对于OpenCV的等

但它仍然不会接受cvRound功能,是有什么即时通讯失踪?

提前

最佳答案

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 /)

10-04 17:09