BRISK演算法學習

2021-06-21 09:13:36 字數 1960 閱讀 1883

未完。。待續。

參考**:

未完成的講解部落格。

brisk的中文翻譯。

brisk作者官網。

brisk演算法可以不嚴格的實現實時運算。**原文與現有的stat_of_the_art演算法進行時間和效率比較圖如下:

可以看出實現一次匹配需要39+29 = 68ms,每秒鐘可以計算14張。

與freak 、orb演算法相同,opencv也實現了brisk。也可以檢視brisk作者提供的**也可以檢視opencv實現的**,在看作者提供的**的時候一定要使用opencv2.2,版本不能太高,因為高版本已經實現了brisk演算法有些class會衝突,而導致不能使用。如果看**,建議看作者提供的,作者提供的暴露了更多的介面;如果僅僅為了使用,建議使用opencv提供的,opencv提供的bug要少,更健壯些。

演算法的粗略歸納:

1.生成影象金字塔。2.使用fast演算法檢測角點。3.對fast計算出的角點進行非最大值抑制,去掉不符合條件的角點。

#include "highgui.h"  

#include "cv.h"

#include "vector"

#include "opencv\cxcore.hpp"

#include "iostream"

#include "opencv.hpp"

#include#includeusing namespace cv;

using namespace std;

#includeint main()//(int argc, _tchar* argv)

//sift feature detect

cv::brisk detector;

std::vectorkp1, kp2;

double start = gettickcount();

detector.detect( src1, kp1 );

detector.detect( src2, kp2 );

//cv::brisk extractor;

mat des1,des2;//descriptor

detector.compute(src1,kp1,des1);

detector.compute(src2,kp2,des2);

mat res1,res2;

int drawmode = drawmatchesflags::draw_rich_keypoints;

drawkeypoints(c_src1,kp1,res1,scalar::all(-1),drawmode);//在記憶體中畫出特徵點

drawkeypoints(c_src2,kp2,res2,scalar::all(-1),drawmode);

cout<

matcher.match(des1,des2,matches);

double end = gettickcount();

cout

cout<

#include "highgui.h"

#include "cv.h"

#include "vector"

#include "opencv\cxcore.hpp"

#include "iostream"

#include "opencv.hpp"

#include#includeusing namespace cv;

using namespace std;

#includeint main()//(int argc, _tchar* argv)

return 0;

}

演算法學習 Union Find演算法

union find演算法有它的實際用途。多用於動態連通的應用場景。union find演算法是 給出兩個節點,判斷它們是否連通,如果連通,是不需要給出具體的路徑的 舉兩個例子作為主要表現 1 在網路連線中,當發現沒有連線的兩個節點,可以把他們連線起來,一旦節點都連線起來,又能把多餘的線拆除,這時候...

演算法學習 KM演算法

km演算法 用於求二分圖的最佳完美匹配 即權值最大的完美匹配 如果你也是個剛來學習km演算法的人 大概的用途肯定還是知道的吧 還是直接說重點吧 首先 理解km演算法前 必須有以下3個概念 1.可行頂標 對於乙個賦值二分圖g x,y,e,w x,y 代表二分圖的兩邊頂點標號 e代表邊 w代表邊的權值 ...

演算法 演算法學習01

貪婪 可以理解為最簡單基礎的求解方式,特點是 短視性 從這個特點入手很容易理解每一步取其最優的原理。雖然最終結果不一定是最好的,但是一定是較好的而且是最簡便的。因此在不過分追求最優結果或者對速度的要求高於結果的情況下,貪婪是不錯的選擇。分治可以理解為大事化小小事好搞,與貪婪的每一步的 串聯 不同,分...