採用lowe『s的演算法選出優秀匹配點。
#include
"highgui/highgui.hpp"
#include
"opencv2/nonfree/nonfree.hpp"
#include
"opencv2/legacy/legacy.hpp"
#include
using
namespace cv;
using
namespace std;
intmain()
} mat first_match;
drawmatches
(//使用函式 drawmatches來繪製檢測到的匹配點
image02, keypoint2,
//第一幅影象及其特徵點
image01, keypoint1,
//第二幅影象及其特徵點
goodmatchepoints,
//匹配結果
first_match//生成的影象);
}
輸入影象:
輸出影象:
匹配點明顯減少
帶有Lowe s演算法的SURF特徵提取和匹配
直接使用surf提取,匹配的效果還是相當糟糕的,如果我們拿著這樣子的匹配結果去實現影象拼接或者物體追蹤,效果肯定是極差的。所以我們需要進一步篩選匹配點,來獲取優秀的匹配點,這就是所謂的 去粗取精 這裡我們採用了lowe s演算法來進一步獲取優秀匹配點。為了排除因為影象遮擋和背景混亂而產生的無匹配關係...
SIFT演算法的幾個問題
sift演算法在影象搜尋方面,用作基礎特徵,個人感覺有一些問題,記錄在這裡 1 求主方向階段太過依賴影象區域性畫素的梯度方向,有可能使找到的主方向不準確 而後面的特徵向量以及匹配嚴重依賴主方向,一旦有偏差效果會顯著下降 2 圖層金字塔的層如何取是個問題,如果取得不夠緊密,會在匹配時出現偏差 而如果取...
Emgu cv中的SIFT演算法實現
sift演算法大家都比較熟悉,網上的版本很多,剛開始接觸時我主要研究的是c 因為相對於c 基於open cv c 的sift演算法資料更多,但是由於想要實現較為理想的介面效果,最終還是放棄了使用c 轉而使用c c 中sift演算法主要分為三種 1 脫離emgu cv平台,完全手動實現所有sift演算...