Opencv 3.0.0 extra modules not found

I'm using OpenCV 3.0.0 in ubuntu linux console.

I need to use SURF, but i've read that it's not included in the main OpenCV installation, so i've followed the opencv_contrib GIT steps:

1) I successfully cloned opencv_contrib in my ubuntu

2) I run "cmake -D OPENCV_EXTRA_MODULES_PATH=/home/ubuntu/opencv/opencv_contrib/modules/ /home/ubuntu/opencv/". No errors. Everything fine.

3)make -j5. I get exactly the same errors than when i didn't cloned opencv_contrib ( error: no matching function for call to ‘cv::xfeatures2d::SURF::SURF(int&)’)

I've read here that some versions of opencv_contrib dosen't work with opencv 3.0.0

Any idea if this is my problem? Am i doing something wrong?

Thank you in advance

Upvotes: 0

Views: 2140

Answers (1)

berak
berak

Reputation: 39796

with opencv3.0, you can't make an instance of SURF or SIFT on the 'stack' anymore.

use:

#include "opencv2/xfeatures2d"

cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create(...);
surf->detect(...);

and link: opencv_xfeatures2d300

(and i don't think, the mentionend github issue is related to your problem)

Upvotes: 1

Related Questions