2015-10-21 98 views
1

這是關於計算機圖形學和視覺中使用的術語的問題。我想用二維到三維的對應關係來構建相機投影矩陣。從這些對應中,我創建了一個相機對象。我在庫中使用一個類來表示相機。它採用下列參數:攝像機的外部參數是以世界座標系表示的嗎?

// R是照相機的取向的世界座標表示幀
// t是相機的位置的世界座標表示幀

我的問題的第一部分是:R和t,如上所定義的,外部參數滿足x=K[R|t]X?或者它們需要轉換(例如,轉置(R)是外部方向,並且 - 轉換(R)* t用於位置)。

我正在使用openCV的solvePnP函數獲得R和t。函數返回R和t如下:

rvec - 輸出旋轉向量(參見Rodrigues())與tvec一起將模型座標系中的點帶到相機座標系。
tvec - 輸出轉換向量。

根據上面的描述,我的問題的第二部分是相當於我的相機的外部參數的輸出,還是它們也需要進行變換(如前面定義的)?

回答

0

相機投影矩陣通常定義爲P = K [R|t],其中Rt是外部因素,而不是世界座標中的相機方向和位置。

至於什麼solvePnP返回,你將不得不閱讀它的文檔,或嘗試看看。

0

slovepnp獲取圖像點(在圖像座標),物體點(在模型/世界座標)和相機內在,然後輸出rvec/tvec,我們可以構建模型到相機變換。在opengl中,通常稱爲模型視圖矩陣。

計算機很難獲取環境知識,我們通常使用容易檢測的功能,如AR標記和校準板,並將其作爲世界座標以及模型座標,如果您想以opengl方式調用它。在這些場景中,相機的外在表現在世界座標系中。

您可以查看mastering opencv這本書的第2章和第3章(AR東西)的代碼,並獲得這些知識和實用代碼。