您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“C++ OpenCV特征提取之如何實現KAZE和AKAZE的匹配”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C++ OpenCV特征提取之如何實現KAZE和AKAZE的匹配”這篇文章吧。
代碼演示
我們再新建一個項目名為opencv-kazedemo,按照配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法,下在的代碼我們是直接用了前面兩張介紹KAZE的描述子的代碼直拷貝過來的,所以我這就直接貼過來了,我們一會兒會在這個代碼的基礎上進行修改匹配。
下面我們來整體改造一下:
因為要進行匹配,所以我們也要按FLANN的方式用到兩張圖,還是我們原來用FLAAN的那兩張。
把原來的src改為了src1和src2了,加載了兩張要對比的圖。
KAZE
然后定義KAZE的匹配方法,把src1和src2找到的keypoints都存到descriptor里面。
再用Flann的方式進行匹配
畫出匹配的關鍵點
到這里我們先運行一下看看效果
可以看出畫上對應匹配的非常多,這樣應該是不對的,所以我們還是要用到前面章節學到的,需要尋找最好的匹配。
我們寫入再找到最好的匹配代碼加進去,然后在drawmatch里面改為畫上最好匹配的代碼
然后重新顯示一下效果
這次可以看到尋找最好的匹配后,不會像剛才那樣感覺匹配的非常亂了。
AKAZE
接下來我們直接換一下AKAZE看看效果
我們把原來的KAZE直接改為AKAZE運行,結果發現報錯。找了原因改了一下發現是FLANN的匹配就會報錯,這樣我們改為BFMATCH的匹配。
然后重新運行一下看看結果
對比了上面的KAZE的結果明顯能看出來匹配的特征點要少了不少,而且相對的用時也要比KAZE的時間少了一些。
以上是“C++ OpenCV特征提取之如何實現KAZE和AKAZE的匹配”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。