編輯:我在看OpenCV2的錯誤代碼示例,在OpenCV3中沒有FeatureDetector::create
- 這讓我感到困惑。OpenCV 3:可用的FeatureDetector :: create()和DescriptorExtractor :: create()選項的列表?
嘿新的OpenCV和通過拉開其他人C++代碼學習。
我想嘗試所有可用的選項:
detector = FeatureDetector::create(str_detector);
descriptor = DescriptorExtractor::create(str_descriptor);
目前str_detector是FAST
和str_descriptor是我無法找到什麼可用的檢測和描述符可我BRISK
。
有沒有辦法輸出當前所有可用選項的列表?
(我剛剛建立了最新的OpenCV + OpenCV的-contrib請從GitHub上一個新的Linux安裝)
我已經找到了第三方文件的列表,在這裏https://github.com/Itseez/opencv_contrib/tree/master/modules/xfeatures2d/src - 我覺得這些都是第三描述符和探測器,因爲這些在某些文件中提到了單詞。不過,最好有一個當前編譯/可用選項的完整列表。
謝謝!
試圖找到自己的答案,編輯,因爲我去:
- 發現
typedef Feature2D FeatureDetector
和typedef Feature2D DescriptorExtractor
在modules/features2d/include/opencv2/features2d.hpp
- 現在挖
Feature2D
... - 我很困惑,我的C++失敗我,沒有
create
在https://github.com/Itseez/opencv/blob/master/modules/features2d/src/feature2d.cpp - 確定,所以只是希望通過代碼(https://github.com/Itseez/opencv/blob/master/modules/features2d/include/opencv2/features2d.hpp)
- BRISK
- ORB
- MSER
- FastFeatureDetector/FAST
- AgastFeatureDetector/AGAST
- G FTTDetector
- SimpleBlobDetector
- KAZE/AKAZE
- 並於contrib代碼(https://github.com/Itseez/opencv_contrib/blob/master/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp)
- FREAK
- StarDetector
- BriefDescriptorExtractor
- LUCID
- LATCH
- DAISY
- MSDDetector
- 和從非遊離的contrib代碼(https://github.com/Itseez/opencv_contrib/blob/master/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp)
- SIFT
- SURF
- 仍然不確定其上面可以/應當用於FeatureDetector或DescriptorExtractor
非常感謝您分享知識! :) 我剛剛意識到這個代碼中有一個'#if CV_MAJOR_VERSION> 2',它使用了新的'detector = cv :: FastFeatureDetector :: create();'而不是舊的'detector = FeatureDetector: :創建(str_detector);'。這更有意義,並與文檔/源代碼相匹配。乾杯 – dtbaker