簡單的理解思路:(世界座標系固定到左目)
空間中一點p,在左目畫素座標(u1,v1),轉成mm為單位的座標(x1,y1),在左目座標系下建立過(x,y)的直線linel;
同樣的思路,空間中同一點p,
在右目座標系下建立,過(x2,y2)的直線liner,liner上的點要經過(r,t)變換到左目座標系下;
求直線linel與liner的交點 就是p的座標。
攝像機矩陣由內參矩陣和外參矩陣組成,對攝像機矩陣進行qr分解可以得到內參矩陣和外參矩陣。
內參包括焦距、主點、傾斜係數、畸變係數
其中,fx,fy為焦距,一般情況下,二者相等,x0、y0為主點座標(相對於成像平面),s為座標軸傾斜引數,理想情況下為0
外參包括旋轉矩陣r3×3、平移向量t3×1,它們共同描述了如何把點從世界座標系轉換到攝像機座標系,旋轉矩陣描述了世界座標系的座標軸相對於攝像機座標軸的方向,平移向量描述了在攝像機座標系下空間原點的位置。
標定雙目後,首先要根據其畸變係數來校正原圖,
可以參考
校正完成後就可以進行座標計算了,分兩種
首先將世界座標系——>攝像機座標系
已知某點在世界座標系中的座標為(xw, yw, zw),由旋轉和平移矩陣可得攝像機座標系和世界座標系的關係為
然後將攝像機座標系——>像面座標系
其中[u
v1]t
為點在影象座標系中的座標,[
xcyc
zc
1]t為點在攝像機座標系中的座標,k為攝像機內引數矩陣。
這樣最終可以得到:
光軸會聚模型:
對於兩相機分別有:
公式56,左邊z應分別為zc1,zc2
其中,
這樣可以把(5)(6)寫成
公式8左邊z應為zc1
公式9左邊z應為zc2
將(8)(9)整理可以得到
注意zc1不等於zc2.。 通過(8)消去zc1得到(10)中的前兩個等式;通過(9)消去zc2得到(10)中的後兩個等式;
採用最小二乘法求解x,y,z,在opencv中可以用solve(a,b,xyz,decomp_svd)求解(10)
a為超定方程的等式左邊的係數矩陣,b為等式右邊的矩陣。因為是超定方程只能求出最小二乘解。
matlab或者opencv標定完都是在左相機上建立世界座標系,於是上面**對應的改為:
//左相機旋轉矩陣
float leftrotation[3][3] = ;
//左相機平移向量
float lefttranslation[1][3] = ;
雙目視覺簡介
雙目視覺廣泛應用在機械人導航,精密工業測量 物體識別 虛擬實境 場景重建,勘測領域。什麼是雙目視覺?雙目視覺是模擬人類視覺原理,使用計算機被動感知距離的方法。從兩個或者多個點觀察乙個物體,獲取在不同視角下的影象,根據影象之間畫素的匹配關係,通過三角測量原理計算出畫素之間的偏移來獲取物體的三維資訊。得...
雙目視覺 1
雙目視覺廣泛應用在機械人導航,精密工業測量 物體識別 虛擬實境 場景重建,勘測領域。什麼是雙目視覺?雙目視覺是模擬人類視覺原理,使用計算機被動感知距離的方法。從兩個或者多個點觀察乙個物體,獲取在不同視角下的影象,根據影象之間畫素的匹配關係,通過三角測量原理計算出畫素之間的偏移來獲取物體的三維資訊。得...
雙目視覺 1 座標系變換
由q矩陣轉換到相機座標系 q u vd1 xy zw q begin u v d 1 end begin x y z w end q uvd1 xyzw 最終將到的向量 x,y,z,w t x,y,z,w t x,y,z w t 用w ww歸一化就得到三維的點。opecv中可以直接呼叫reproje...