OpenCV 3.0.0 beta - Use common interface with SURF
I am trying to use the common interface to features detectors and extractors for SURF features. The documentation states that cv::SURF implements the Features2D interface, but when I try:
cv::Ptr<cv::SURF> surf = cv::SURF::create(400);
I get the compiler error:
features_analysis.cpp:134:50: error: no matching function for call to ‘cv::SURF::create(int)’
I have installed xfeatures2D from the contrib module but I am also confused about namespaces, is SURF in cv::SURF or cv::xfeatures2d::SURF ? And what is the correct header to include? The documentation is very confusing and contradictory at times.
EDIT: Is there a "beta" release of opencv_contrib
? Because now I'm using opencv-3.0.0-beta
with the master branch of opencv_contrib
, could that be a problem?
EDIT2: Nevermind, I just found it here: https://github.com/Itseez/opencv_cont...
cv::xfeatures2d::SURF
, and#include "opencv2/xfeatures2d.hpp"
That include gives a
fatal error: opencv2/xfeatures2d.hpp: No such file or directory
. I'll check my installation of OpenCV and report back.