2014-12-11 9 views
15

Я построил альфа-версию openCV 3.0 из источника с поддержкой CUDA и TBB. Теперь я хочу выполнить обнаружение функций и сопоставление функций с использованием алгоритма SURF. SurfFeatureDetector присутствует в заголовочном файлеОтсутствует модуль в OpenCV 3.0

opencv2/несвободные/features2d.hpp & opencv2/несвободные/features2d.hpp

Но модуль несвободные отсутствует в этой версии OpenCV. Я попытался проверить форумы opencv на answer.opencv.org, но сайт находится в разработке.

Как использовать незакрепленные модули?

+0

Кажется дубликатом http://stackoverflow.com/questions/25549602/nonfree-package-missing-opencv-3-0-alpha (хотя и с их страница будучи вниз это не поможет - может быть, эти люди могут объяснить, что они сделали?) –

+0

Модуль afaik non_free должен быть явно выбран во время строительства. Итак, если вы использовали CMake, может быть, вы потеряли флаг? – Micka

+0

@ GregorPetrin- Так что мне делать? Вам посчастливилось прочитать решение в [link] (http://answers.opencv.org/question/40510/30-alpha-missing-nonfree-package/) –

ответ

17

с opencv3.0, SURF/SIFT и некоторые другие вещи были перемещены в отдельный opencv_contrib repo.

вам нужно будет скачать это, добавьте его в свои основные настройки cmencv (см. Здесь readme) и перезапустите cmake/make.

затем:

#include "opencv2/xfeatures2d.hpp" 

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

Спасибо berak. Я следую вашему предложенному методу. Я извлек opencv_contrib-master в исходной папке opencv. Я собираюсь настроить с помощью Cmake (GUI). Поэтому я хотел спросить, есть ли какие-либо специальные флаги в Cmake, чтобы сборка была построена с помощью модулей Contrib? –

+0

Получил это. Благодарю. –

Смежные вопросы