Hi!When I compile the program,VC2005 always tell :"error C2198: 'cvEigenVV' : too few arguments for call". Part of the code below:
void draw_oxfd_feature( IplImage* img, struct feature* feat, CvScalar color )
{ double m[4] = { feat->a, feat->b, feat->b, feat->c };
double v[4] = { 0 }; double e[2] = { 0 }; CvMat M; CvMat V; CvMat E; double alpha, l1, l2;
/* compute axes and orientation of ellipse surrounding affine region */ cvInitMatHeader( &M, 2, 2, CV_64FC1, m, CV_AUTOSTEP ); cvInitMatHeader( &V, 2, 2, CV_64FC1, v, CV_AUTOSTEP ); cvInitMatHeader( &E, 2, 1, CV_64FC1, e, CV_AUTOSTEP );
cvEigenVV( &M, &V, &E, DBL_EPSILON );
l1 = 1 / sqrt( e[1] ); l2 = 1 / sqrt( e[0] ); alpha = -atan2( v[1], v[0] ); alpha *= 180 / CV_PI;
cvEllipse( img, cvPoint( feat->x, feat->y ), cvSize( l2, l1 ), alpha, 0, 360, CV_RGB(0,0,0), 3, 8, 0 ); cvEllipse( img, cvPoint( feat->x, feat->y ), cvSize( l2, l1 ), alpha, 0, 360, color, 1, 8, 0 ); cvLine( img, cvPoint( feat->x+2, feat->y ), cvPoint( feat->x-2, feat->y ), color, 1, 8, 0 ); cvLine( img, cvPoint( feat->x, feat->y+2 ), cvPoint( feat->x, feat->y-2 ), color, 1, 8, 0 ); // cvCircle(img,cvPoint(cvRound( feat->x ),cvRound( feat->y )),2, color, CV_FILLED, 8, 0); cvCircle(img,cvPoint( cvRound( feat->x ), cvRound( feat->y )), 2,CV_RGB(0,255,0), CV_FILLED, 8, 0 );
}
How to solve the problem?Thank you!