2014-12-11 11 views
15

Ich habe die OpenCV 3.0 Alpha-Version von der Quelle mit Unterstützung für CUDA und TBB gebaut. Jetzt möchte ich Feature-Erkennung und Feature-Matching mit SURF-Algorithmus durchführen. SurfFeatureDetector ist in der Include-DateiNicht-freie Modul fehlt in OpenCV 3.0

opencv2/nonfree/features2d.hpp & opencv2/nonfree/features2d.hpp

Aber das Modul unfreie ist in dieser Version von OpenCV fehlt. Ich habe versucht, die opencv Foren auf answers.opencv.org zu überprüfen, aber die Seite ist im Aufbau.

Wie werden die nicht freien Module verwendet?

+0

scheint ein Duplikat http://stackoverflow.com/questions/25549602/nonfree-package-missing-opencv-3-0-alpha zu sein (wenn auch mit ihrer Seite nach unten zu sein es wird nicht viel helfen - vielleicht können diese Leute erklären, was sie getan haben?) –

+0

afaik non_free Modul muss explizit während des Aufbaus gewählt werden. Also, wenn du CMake benutzt hast, könnte es eine Flagge geben, die du verpasst hast? – Micka

+0

@ GregorPetrin- So was soll ich tun? Hast du zufällig die Lösung unter [link] (http://answers.opencv.org/question/40510/30-alpha-missing-nonfree-package/) gelesen –

Antwort

17

mit opencv3.0, SURF/SIFT und einige andere Dinge wurden in eine separate opencv_contrib repo verschoben.

Sie müssen herunterladen, fügen Sie es zu Ihren wichtigsten opencv CMake-Einstellungen (lesen Sie bitte die Readme dort), und führen Sie erneut cmake/make.

dann:

#include "opencv2/xfeatures2d.hpp" 

... 
Ptr<SIFT> sift = cv::xfeatures2d::SIFT::create(...); 
sift->detect(...); 
+0

Danke Berak. Ich folge deiner vorgeschlagenen Methode. Ich habe den opencv_contrib-master im opencv Quellordner extrahiert. Ich bin im Begriff, mit Cmake (GUI) zu konfigurieren, also wollte ich fragen, ob es spezielle Flags in Cmake gibt, damit der Build mit den contrib-Modulen erstellt wird? –

+0

Bekam es. Vielen Dank. –

Verwandte Themen