В OpenCV 3.0 отсутствует несвободный модуль
Я построил альфа-версию openCV 3.0 из источника с поддержкой CUDA и TBB. Теперь я хочу выполнить обнаружение функций и сопоставление функций с использованием алгоритма SURF. SurfFeatureDetector присутствует в файле include
opencv2/nonfree/features2d.hpp и opencv2/nonfree/features2d.hpp
Но в этой версии openCV отсутствует модуль без доступа. Я попытался проверить форумы opencv на answer.opencv.org, но сайт находится в разработке.
Как использовать несвободные модули?
Ответы
Ответ 1
с opencv3.0, SURF/SIFT и некоторые другие вещи были перемещены в отдельный opencv_contrib repo.
вам нужно будет загрузить его, добавьте его в свои основные настройки cmencv (см. там readme) и перезапустите cmake/make.
то
#include "opencv2/xfeatures2d.hpp"
...
Ptr<SIFT> sift = cv::xfeatures2d::SIFT::create(...);
sift->detect(...);
Ответ 2
Вы также можете установить все несвободные вещи из этого PPA
sudo add-apt-repository ppa:ignaciovizzo/opencv3-nonfree
sudo apt-get update
sudo apt install libopencv-dev