您好,登錄后才能下訂單哦!
小編給大家分享一下C++ OpenCV特征提取之如何實現Brisk特征檢測與匹配,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前言
BRISK是BRIEF描述子的一種改進,相比于BRIEF特征,它具有旋轉不變性、尺度不變性和對噪聲的魯棒性。幾個特征檢測的速度比較:SIFT>SURF>BRISK>FREAK>ORB,在對有較大模糊的圖像配準時,BRISK算法在其中表現最為出色。
Brisk特征介紹
構建尺度空間
特征點檢測
FAST9-16尋找特征點
特征點定位
關鍵點描述子
代碼演示
我們再新建一個項目名為opencv--brisk,按照配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法,這里因為我們肯定能讀到圖片,所以我都省略了一些判斷的語句,詳細的判斷圖片是否讀取成功的可以看以前的例子里面。
Brisk檢測
我們先來做一下Brisk的檢測,檢測這里代碼比較簡單,先用以前的test3的圖片進行檢測看看效果,下面的檢測代碼。
然后我們看一下運行的效果
要以看到特征點都檢測出來了,感覺效果比起SIFT和SURF都要好一點。下面我們再做一下特征的匹配。
Brisk匹配
做匹配的話我們還是用前面的對應的兩個圖片test8和test7,接下來我們就來修改代碼
首先修改加載的圖片
然后重新定義keypoints進行檢測
再進行Match的匹配
接下來尋找最好的Match Point
在新圖上繪制goodMatch并顯示出來
接下來我們看一下運行的效果
以上是“C++ OpenCV特征提取之如何實現Brisk特征檢測與匹配”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。