1

円検出に関する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(円[i][0])

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

プロパティにgnu cおよびc ++の多くのディレクトリを追加しようとしました-> c / c ++一般->パスとシンボルなど

ndkroot/sources/cxx-stl..../include

ネイティブ/jni/インクルード

opencvなど

しかし、それでも cvRound 関数を受け入れません。足りないものはありますか?

thx事前に

4

1 に答える 1

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

于 2013-06-21T11:34:00.160 に答える