[英]How Does OpenCV ORB Feature Detector Work?
我想使用ORB特征檢測器和提取器實現基於特征的對齊算法。
到目前為止,我使用OpenCV ORB orb;
ORB類提取了這些特性ORB orb;
orb(gray_image,Mat(),features.keypoints,features.descriptors);
並使用openCV matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2);
的knnMatch函數匹配它們matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2);
之后我試圖使用findHomography函數找到單應性,但是這個函數在圖像特征之間需要至少4個匹配,而在我測試的大多數圖像上我得到的不到4個。
有人用過這個功能嗎? 是否有任何關於它的文檔,或關於OpenCV的ORB類(ORB構造函數參數的含義)?
PS這是我的第一個問題。 我不能發布超過2個鏈接。 對於opencv文檔,請使用此方法 。
更新:現在是 OpenCV的文檔中,在這里: http://opencv.itseez.com/modules/features2d/doc/feature_detection_and_description.html#orb
有關該算法的詳細說明,請訪問: http : //www.willowgarage.com/sites/default/files/orb_final.pdf
在OpenCV文檔中沒有提到它,但實際上OpenCV具有:
兩種類型的描述符:
和相應的匹配器:
FlannBased
BruteForce<L2<float> >
BruteForce<SL2<float> >
自2.3.1起 BruteForce<L1<float> >
BruteForce<Hamming>
BruteForce<HammingLUT>
FlannBased
與LSH指數//自2.4.0以來 因此,您需要修改代碼以用於例如用於ORB描述符的BruteForce<Hamming>
匹配器。 可以使用L2或L1距離來匹配uchar描述符,但結果將不正確並且findHomography返回不令人滿意的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.