Wie zu verwenden FeatureDetector in OpenCV C++?
Ich benutze VS 2008 mit OpenCV 2.1 installiert nach der installation guide. FeatureDetector/SurfFeatureDetector aufgeführt sind als Klassen in der Dokumentation, aber Sie sind als "syntax error : identifier 'SurfFeatureDetector"
Dies ist so ziemlich die Gesamtheit von meinem code.
#include "cv.h"
#include "highgui.h"
Ptr<FeatureDetector> *detect = new SurfFeatureDetector();
Habe ich versucht, ein Bündel von zufälligen Kombinationen, um diese zu arbeiten. Wie kann ich die initialisieren eines featuredetector?
- Welche Art von pointer ist das?
- ack, bearbeitet. Sollte Typ FeatureDetector
- Ptr ist opencv auto-pointer, die löscht sich am Ende der Nutzung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie haben Installations-problem, versuchen Sie resinstalling von hier: sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2
Anthere andere Möglichkeit ist, dass Ihr precompiler bereits
__OPENCV_OLD_CV_H__
definiert.Versuchen Sie 'undefining' es vor
#include "cv.h"
Wenn Sie
#include "cv.h"
Es sollte automatisch gehören featurs2d. in der Tat cv.h enthält die folgenden:
Sind Sie deklarieren einen Zeiger auf eine cv::Ptr -- sollten Sie wirklich nur die cv::Ptr. Ändern Sie Ihren code so,
und es sollte funktionieren.
using namespace cv;
irgendwo im code? Sie haben zu zählen, die Sie oder deklarieren Sie dencv
namespace manuell. Ich habe verwendet diese Klassen vor und hatte nie gehören "features2d.hpp," allerdings suchen über einige von meinen alten code habe ich auch#include <cxcore.h>
die notwendig sein könnten.pkg-config opencv --modversion
je nachdem, wie Sie installiert openCV.Müssen Sie die OpenCV-2.x-Stil C++ gehören. Siehe unten
Müssen Sie:
(von hier: http://answers.opencv.org/question/411/feature-detector-crash/)