《視覺SLAM十四講》第一版第九講 設計前端0.4版本代碼詳細註釋

在這裏插入圖片描述
只是運行起來的動圖。


Cmara類可以看做是相機的模型,用來存儲相機的內參,並提供完成相機座標系、像素座標系和世界座標系之間的座標轉換的方法。


Frame類是基本的數據單元,用來存儲圖像幀,每獲取一張圖片就會有一個Frame實例對象,所以在類中要用標號去區分每一個Frame對象。該類用於存儲每幀圖像的時間戳、外參、像素矩陣(彩色圖像和深度圖像)、關鍵像素點等。
彩色圖用RGB分量,是一個cols∗rows∗3的三維矩陣
深度圖只有對應像素的深度信息,是一個cols∗rowscols∗rows的二維矩陣


MapPoint類用來存儲每幀圖像的關鍵像素點的描述子,以及該像素點的世界座標等信息。可以存着多個MapPoint對象對應一個Frame對象。


Map類是將所有的MapPoint對象管理起來,形成一個地圖用於優化,並提供加入關鍵幀和插入MapPoint的方法。


Config類提供文件操作的方法,用於讀取配置文件,並且在程序的任意地方都可隨時提供參數的值,所以要把Config類寫成單件模式,即將Config類的公共構造函數聲明爲私有,防止該類對象在別處建立。
單件模式是一種用於確保整個應用程序中只有一個類實例且這個實例所佔資源在整個應用程序中是共享時的程序設計方法


VisualOdometry類將視覺里程計的狀態,Map指針、Frame指針,關鍵點、描述子、匹配信息、配置文件內容等參數管理起來,並提供關鍵點提取匹配、優化等方法。

關鍵點:是指圖片的特徵點,這些特徵點在相似的兩張圖片中容易被識別出來,使兩張圖片能夠根據這些特徵點匹配。在這裏用到的關鍵點是FAST關鍵點,它是一種角點,主要檢測局部像素灰度變化明顯的地方,以速度快著稱。
描述子:是對提取出來的特徵點的周圍像素區進行描述。BRIEF描述子是一種二進制描述子,其描述向量可以表述不同的關鍵點。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章