Nicht verwenden SurfFeatureDetector in OpenCV 3.0.0
System-
- Windows 8.1 64-bit-Computer
- OpenCV 3.0.0
- Visual Studio 2013 12
Ich gebaut habe die openCV-3.0.0 mit der contrib-Module. Wenn ich jedoch diesen code kompilieren, bekomme ich Fehler.
#include <OpenNI.h> //used for taking in input from xtion pro live
#include <iostream>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\core\core.hpp>
#include <opencv2\features2d\features2d.hpp>
#include <opencv2/features2d.hpp>
#include <opencv2/xfeatures2d.hpp> //these are the libraries in the new location (they contain SURF implementation)
#include <opencv2/xfeatures2d/nonfree.hpp>
using namespace std;
//using namespace openni;
using namespace cv;
int main(void)
{
//from sample code
int minHessian = 400;
SurfFeatureDetector detector(minHessian);
return 0;
}
Den Fehler-
error C2065: 'SurfFeatureDetector' : nicht deklarierter Bezeichner
- werfen Sie einen Blick hier
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die syntax zu konstruieren, die eine Surf-feature-Detektors in OpenCV 3.0 unterscheidet sich von 2.x-Versionen.
Entschuldigt, wenn das obige Beispiel würde immer noch werfen Fehler, ich habe nicht eine funktionierende version zu testen es.
Ich denke, für SURFEN, müssen Sie "extra" - Module. Haben einen Blick auf diese: https://github.com/itseez/opencv_contrib/
Im Grunde, was Sie tun müssen, ist, laden Sie den code (opencv_contrib). Fügen Sie es zu der Liste der Module im opencv source-Ordner. Dann, in cmake müssen Sie den Pfad < opencv_contrib >/Module in EXTRA_MODULES_PATH. Endlich, nach generieren Sie das Projekt über cmake, finden Sie die xfeatured2d (ich denke, die, die Sie brauchen) auf Ihrem opencv-Lösung und Sie werden in der Lage sein, es zu bauen und zu nutzen.
In opencv3.0, es kombiniert alle Bibliothek in opencv_world300d.lib (debug) und opencv_world300.lib (release).
Für diese können Sie verwenden Sie #include, um stattdessen andere gehören.
Auf der anderen Seite sind Sie opencv_world310d.lib (debug) und opencv_world310.lib (release) in opencv3.1.