opencv之sift雙目測距

2021-06-22 21:23:53 字數 1241 閱讀 5716

雙目視覺之攝像頭標定:  基於opencv的雙目立體視覺測距_攝像機標定   

opencv之sift雙目測距: 

最近一直在做雙目測距的工作,今天終於獲得一定的成果~拿出來與大家分享~

二、硬體:

三、匹配效果:

四、基本演算法 參見學習opencv中關於雙目測距的演算法

最關鍵的z = fx*t/(x2 - x1)

五、基本引數:

攝像頭間距:t = 187mm

由於在實際測量過程中,發現攝像機的焦距並非固定不變的,在標定

的時候會發現,隨著距離的變大,測量的焦距逐漸變大,於是採用測量多

組的的資料擬合 出攝像頭的焦距公式

求取焦距與實際距離的擬合公式:fx = g(distance)

實際距離 像差 反推的焦距 

413398

879519321

890.9

618279

922727245

952.5

835217

969.0

930200

994.65

1075

179 1029

1211

187 1068.5

1345

152 1093

1496

142 1136

焦距擬合公式(matlab計算)

fx*t = k*dis +b

k  = 44.97

b = 14454.17732 

t為兩個攝像頭間的距離,為定值187mm。

知道焦距的擬合公式以後,再測出兩張**的匹配點的像差,可以測出

距離由方程組:

fx * t = k*dis +b

z = fx*t/(x2 - x1)

x2 - x1 為兩張**的匹配點的像差

z該匹配點的實際距離。

得出距離測量公式z = b/(x2 -x1 - k)

六、實際測量值比較:

重現拍攝幾組,求取實際距離

下面給出求解結果以及誤差分析:單位mm

實際距離

測量距離

誤差1472

1460

-121059

1054

-5921

920.48

-0.52

804798.4

-5.6

644642.3

-1.7

516510.69

-5.31

opencv雙目測距實現

開篇之前,首先要感謝maxwellsdemon和wobject,沒有和你們的討論,也就沒有此篇的成文。說到雙攝像頭測距,首先要複習一下測距原理,把learning opencv翻到416和418頁,可以看到下面兩幅圖 圖1.雙攝像頭模型俯檢視 圖2,雙攝像頭模型立體檢視 圖1解釋了雙攝像頭測距的原理...

雙目測距測深度 科普 雙目測距原理

參考資料 1 深度相機原理揭秘 雙目立體視覺 2 雙目測距原理 3 相機標定原理及實現 1 雙目測距基本原理 如圖所示,p點是待測物體,camera r和camera l代表相機的光心位置,兩綠點為點p在兩個相機感光器上的成像點,f為相機焦距,b為兩相機中心距,z為所求深度資訊,兩綠點間距為d。d ...

雙目測距的實現

說到雙攝像頭測距,首先要複習一下測距原理,把learning opencv翻到416和418頁,可以看到下面兩幅圖 圖1.雙攝像頭模型俯檢視 圖2,雙攝像頭模型立體檢視 圖1解釋了雙攝像頭測距的原理,書中z的公式如下 在opencv中,f的量綱是畫素點,tx的量綱由定標棋盤格的實際尺寸和使用者輸入值...