2012-10-31 69 views
5

我正在進行三維重建。現在,當我考慮一對圖像。我有一組相應的點。我有我的相機細節。例如我有焦點細節,旋轉和平移矩陣(4 * 4)。我想用三維(三角測量)投影我的點。所以就我而言,通過因子代數知道它非常簡單。但我仍然需要清楚地瞭解它。有沒有人有關於如何遵循這個想法?我正在努力matlab,所以我需要實現!我可能再次太寬泛或不管了。但請指導我!校準攝像機圖像的三維重建

+0

仍然過於寬泛和模糊。我們在這裏幫助,而不是教你整個過程或爲你做所有的工作。 –

回答

0

您需要根據已知的相機屬性計算相機矩陣;這是一個縮放投影矩陣,它將3D均勻點映射到您的二維像素座標上。 (請注意,如果您需要像樣的準確度,您還需要測量並系統地校正相機的鏡頭失真,但這是一個二階細節。)

然後,將相機矩陣與姿態矩陣相乘(4x4旋轉你提到/ tranlation矩陣)來獲取項目在您選擇的三維座標系統進入(相機的整流)像素座標的點矩陣(總說T):

pixel vector Q.x = T * point P.x 
      Q.y    P.y 
      Q.z    P.z 
      Q.w    1 

pixel coordinates = (Q.x/Q.w, Q.y/Q.w) 
"pixel depth" = Q.z/Q.w 

您可以反轉這個矩陣,並通過選擇兩個深度將像素座標投影到3D射線中:一個位於相機位置,另一個不是(最好選擇單位深度或無窮遠處的點)。你不能指望你的光線恰好相交,但你可以根據兩條相應光線最接近的位置得到最合適的位置;更一般地說,您可以將任意數量的光線交叉處理爲最小二乘問題(理想情況下,以每條光線預期的誤差爲條件)。