在雙目視覺(jué)中,我們對(duì)相機(jī)進(jìn)行標(biāo)定和校正,最終目的是使得兩個(gè)相機(jī)的光軸完全平行,這樣才能夠繼續(xù)后續(xù)的深度計(jì)算,三維重建。這樣的校正在OPencv中采用的是Bouguet的極線(xiàn)校正的算法。
校正前的左右相機(jī)的光心并不是平行的,兩個(gè)光心的連線(xiàn)就叫基線(xiàn)(主鏡頭中心的連線(xiàn)),像平面與基線(xiàn)的交點(diǎn)就是極點(diǎn),像點(diǎn)與極點(diǎn)所在的直線(xiàn)就是極線(xiàn),左右極線(xiàn)與基線(xiàn)構(gòu)成的平面就是空間點(diǎn)對(duì)應(yīng)的極平面。
校正后,極點(diǎn)在無(wú)窮遠(yuǎn)處,兩個(gè)相機(jī)的光軸平行。像點(diǎn)在左右圖像上的高度一致。這也就是極線(xiàn)校正的目標(biāo)。校正后做后續(xù)的立體匹配時(shí),只需在同一行上搜索左右像平面的匹配點(diǎn)即可,能使效率大大提高。
Bouguet的方法是一種標(biāo)定立體矯正方法,需要實(shí)現(xiàn)對(duì)左右相機(jī)進(jìn)行標(biāo)定,是將OPencv求解出來(lái)的旋轉(zhuǎn)和平移矩陣分解成左右相機(jī)各旋轉(zhuǎn)一半的旋轉(zhuǎn)和平移矩陣R1,T1與R2,T2。分解的原則是使得,左右圖像重投影造成的畸變最小,左右視圖的共同面積最大。
1、將右圖像平面相對(duì)于左圖像平面的旋轉(zhuǎn)矩陣分解成兩個(gè)矩陣Rl和Rr,叫做左右相機(jī)的合成旋轉(zhuǎn)矩陣。將左右相機(jī)各旋轉(zhuǎn)一半,使得左右相機(jī)的光軸平行。此時(shí)左右相機(jī)的成像面達(dá)到平行,但是基線(xiàn)與成像平面不平行(行不對(duì)準(zhǔn))。
此時(shí)兩個(gè)矩陣滿(mǎn)足以下關(guān)系,通過(guò)這個(gè)關(guān)系可以看出來(lái)rl和rr是正交陣
2、構(gòu)造變換矩陣Rrect使得基線(xiàn)與成像平面平行(行對(duì)準(zhǔn))。構(gòu)造的方法是通過(guò)右相機(jī)相對(duì)于左相機(jī)的偏移矩陣T完成的。
(1) 首先先創(chuàng)建一個(gè)由極點(diǎn)el方向開(kāi)始的旋轉(zhuǎn)矩陣,令主點(diǎn)(cx,cy)為左圖像原點(diǎn),則極點(diǎn)el的方向就是相機(jī)投影中心之間的平移向量方向.
(2) e2方向與主光軸方向正交,沿圖像方向,與e1垂直,則知e2方向可通過(guò)e1與主光軸方向的叉積并歸一化獲得。
(3) 獲取了e1與e2后,e3與e1和e2正交,e3自然就是他們兩個(gè)的叉積:
Rrect如下:
(4) 通過(guò)合成旋轉(zhuǎn)矩陣與變換矩陣相乘獲得左右相機(jī)的整體旋轉(zhuǎn)矩陣。左右相機(jī)坐標(biāo)系乘以各自的整體旋轉(zhuǎn)矩陣就可使得左右相機(jī)的主光軸平行,且像平面與基線(xiàn)平行。
3. 通過(guò)上述的兩個(gè)整體旋轉(zhuǎn)矩陣,就能夠得到理想的平行配置的雙目立體系圖像。校正后根據(jù)需要對(duì)圖像進(jìn)行裁剪,需重新選擇一個(gè)圖像中心,和圖像邊緣從而讓左、右疊加部分最大。
-
圖像
+關(guān)注
關(guān)注
2文章
1091瀏覽量
40839 -
矩陣
+關(guān)注
關(guān)注
0文章
428瀏覽量
34882 -
OpenCV
+關(guān)注
關(guān)注
31文章
639瀏覽量
42142
原文標(biāo)題:雙目圖像標(biāo)定后矯正解析
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于QT+OpenCv的目標(biāo)跟蹤算法實(shí)現(xiàn)
如何使用SDK在獨(dú)立模式下的OpenCV應(yīng)用程序
OpenCV中自帶組件HighGUI怎么使用?
OpenCV中的BGR格式,在libyuv中對(duì)應(yīng)的那個(gè)格式?OpenCV中的RGB格式呢?
一種無(wú)相機(jī)標(biāo)定的極線(xiàn)校正新方法
三目立體視覺(jué)外極線(xiàn)校正及其FPGA實(shí)現(xiàn)方法
opencv 白平衡算法
環(huán)視SAR成像處理中的幾何失真校正算法

在Vivado中如何實(shí)現(xiàn)OpenCV設(shè)計(jì)
使用Adaboost算法實(shí)現(xiàn)車(chē)牌檢測(cè)在OpenCV上實(shí)現(xiàn)的研究分析

如何使用FPGA實(shí)現(xiàn)三目立體視覺(jué)外極線(xiàn)校正的方法

基于OpenCV如何提取中心線(xiàn)
OpenCV邊緣模板匹配算法原理詳解

評(píng)論