2014-12-11 28 views
15

Tôi đã xây dựng phiên bản alpha openCV 3.0 từ nguồn có hỗ trợ CUDA và TBB. Bây giờ, tôi muốn thực hiện tính năng phát hiện tính năng và đối sánh tính năng bằng thuật toán SURF. SurfFeatureDetector có mặt trong bao gồm tập tinMô-đun không miễn phí bị thiếu trong OpenCV 3.0

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

Nhưng module nonfree là mất tích trong phiên bản này của OpenCV. Tôi đã thử kiểm tra các diễn đàn opencv tại answers.opencv.org nhưng trang web đang được xây dựng.

Cách sử dụng các mô-đun không miễn phí?

+0

Có vẻ là một bản sao của http://stackoverflow.com/questions/25549602/nonfree-package-missing-opencv-3-0-alpha (mặc dù với trang của họ đang bị dẫn trước nó sẽ không giúp được gì nhiều - có lẽ những người đó có thể giải thích những gì họ đã làm?) –

+0

afaik non_free module phải được chọn một cách rõ ràng trong khi xây dựng. Vì vậy, nếu bạn sử dụng CMake, có thể có một lá cờ bạn đã bỏ lỡ? – Micka

+0

@ GregorPetrin- Vì vậy, tôi nên làm gì? Bạn có xảy ra để đọc giải pháp tại [link] (http://answers.opencv.org/question/40510/30-alpha-missing-nonfree-package/) –

Trả lời

17

với opencv3.0, SURF/SIFT và một số thứ khác đã được chuyển sang một số riêng biệt opencv_contrib repo.

bạn sẽ phải tải xuống điều đó, thêm nó vào cài đặt chính thức của bạn trong khung làm việc (xem tại đây) và chạy lại cmake/make.

thì:

#include "opencv2/xfeatures2d.hpp" 

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

Cảm ơn berak. Tôi đang theo phương pháp được đề xuất của bạn. Tôi đã trích xuất opencv_contrib-master trong thư mục nguồn opencv. Tôi định cấu hình bằng cách sử dụng Cmake (GUI), Vì vậy, tôi muốn hỏi nếu có bất kỳ lá cờ đặc biệt trong Cmake để xây dựng được xây dựng với các mô-đun contrib? –

+0

OK. cảm ơn. –