我刚刚在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 /)