天天看點

opencv3圖像拼接_圖像拼接|——OpenCV3.4 stitching子產品分析(一)前言

  • 特征點檢測
    • 源碼
    • 應用

前言

圖像拼接|——OpenCV3.4 stitching子產品分析(一)特征點檢測 

參考opencv_趙春江的專欄_zhaocj-CSDN部落格

特征點檢測

OpenCV3.4中實作了surf、orb、sift等特征檢測算法,預設的是surf。特征檢測算法的實作主要包含在 "opencv2/stitching/detail/matchers.hpp" 中。

源碼

首先定義了一個ImageFeatures結構體用于存放特征資訊,包括圖檔序号、尺寸、特征點資訊及描述子矩陣:

定義FeaturesFinder基類,其中的成員函數find()是用來尋找特征資訊:

FeaturesFinder基類派生出SurfFeaturesFinder、SiftFeaturesFinder、OrbFeaturesFinder等派生類。SurfFeaturesFinder派生類定義:

class CV_EXPORTS SurfFeaturesFinder : 
           

SiftFeaturesFinder派生類定義:

class CV_EXPORTS SiftFeaturesFinder : 
           

OrbFeaturesFinder派生類定義:

class CV_EXPORTS OrbFeaturesFinder : 
           

關于各個特征檢測算法的具體實作,就不具體展開了,一般隻要知道怎樣調用進階API即可。

應用

#include 
           

運作結果:

opencv3圖像拼接_圖像拼接|——OpenCV3.4 stitching子產品分析(一)前言
opencv3圖像拼接_圖像拼接|——OpenCV3.4 stitching子產品分析(一)前言
opencv3圖像拼接_圖像拼接|——OpenCV3.4 stitching子產品分析(一)前言
opencv3圖像拼接_圖像拼接|——OpenCV3.4 stitching子產品分析(一)前言

<<< 左右滑動見更多 >>> Number of surf keypoints: 1403 Number of orb keypoints: 1346 Number of sift keypoints: 1287

主觀視覺上還是SIFT更穩健一些,不過stitching預設使用的是surf。