2017-06-14 116 views
0

我想匹配彩色相機和Kinect v2深度相機的圖像。 所以,我想嘗試下面的網站的方法, 有些事我不明白。如何通過gml C++相機校準工具箱進行Kinect RGB和深度相機校準

Kinect RGB & depth camera calibration

enter image description here

我想知道我如何能得到 「rgb_M_world」, 「ir_M_world」 使用 「GML C++相機標定工具箱」 工具。

該工具輸出外部參數。 但是,我能否認爲該外部參數意味着該網站上的rgb_M_worldir_M_world

在什麼地方GML工具指定的世界座標? 此外,有必要對全球紅外攝像機和彩色攝像機相匹配的座標, 我如何使用GML工具,以配合紅外攝像機和彩色攝像機的世界座標?

我將不勝感激,如果你能給我一些建議。

回答

2

在您鏈接到它的博客說,您使用的應用程序,每個組圖像(或者至少一個圖像),一組是由紅外線攝像機,另一套是從RGB攝像頭。

然後你得到的外部參數的這一套,換句話說就是,他們用相機拍攝。所以,如果你使用的紅外圖像集,你ir_M_World與內部函數通常在針孔攝像機模型

s p = K [R|T] P 

其中s是縮放值相機矩陣使用,p是2D homgeneous點,K是相機矩陣和[R|T]是extrinsics矩陣(旋轉和平移),而P是3D點。

現在,你需要了解一點該校準方法是如何工作的。首先你有一個網格點(在你的情況下是棋盤格的交點),這些點必須用三維座標表示,因爲通常你不關心這些點在哪裏(除非你有一個固定的座標系統,跟隨)的點被取作如下:

[0,0,0] [1,0,0] ... [n, 0,0] 
[0,1,0]  ...  ... 
    ...  ...  ... 
[0,m,0]  ...  [n, m, 0] 

的[0,0,0]點可以是在網格的中心,與點之間的步驟可以是實數釐米/毫米/米的測量,但爲了方便起見,就是這樣,然後你可以從我們創建的假點雲到另一個攝像頭,再到另一個攝像頭,因爲你有兩個距離同一個地方的距離,所以你可以在博客文章中說明它們的相關性

回到你的問題:

我還沒有使用GML工具箱,但我想他們使用了與我上面解釋的相同的想法,如果這不能手動設置(有時它只是點之間的步長,你可以設置)。它們似乎也只是使用棋盤模式。如果這個過程是全自動的,他們每次都使用相同的3D點,所以你可以把兩個相機聯繫起來。我希望這可以幫助你。

+0

謝謝!你的回答已經變得很有幫助。 – kuu

+0

@kuu沒問題。如果它幫助你考慮投票並接受答案,所以其他人知道它可能有幫助。 – api55