2012-08-17 54 views
3

OpenCV中有一個簡單的函數用於從立體相機對中獲取對象的3D位置和姿態嗎?立體對中的點的Opencv 3D

我有用棋盤校準的攝像機和基線。我現在想要拍攝一個像棋盤一樣的已知對象,並在其自己的座標中具有已知的3D點,並找到真實世界的位置(在相機座標中)。

有一些功能可以爲單個相機(POSIT)執行此操作,並可用於查找整個場景的3D視差圖像。

它幾乎和攝像機校準一樣簡單,並且可以找到相機對中的棋盤 - 但是我找不到任何需要物體+圖像座標並將相機座標返回給立體對的功能。

謝謝

回答

1

校準你的立體攝像系統後,你已經拿到了兩個攝像頭之間的相對位姿(=翻譯+方向)。如果您發現其中一個攝像頭與對象之間的相對姿態,並因此您也獲得了該對象與另一個攝像頭之間的相對姿態,則使用solvePnP/solvePnPRansac。例如,在用於機器人導航的立體聲系統中,通常將來自先前幀的重建的3D點僅與其中一個相機進行匹配,然後估計來自3d點的相對相機姿態。立體聲系統只是簡化並改善了三角測量/結構重建的質量。

+0

是的,有一些功能可以從單個相機構成姿態,並且可以從密集的圖像對中進行立體聲 - 但是立體對中的相應點沒有任何3D位置?這正是校準棋盤在內部所做的 - 但我想要一些簡單的函數來調用。 – user1607263 2012-08-17 17:24:38

+0

你似乎很困惑。在校準時,兩臺相機之間沒有相對的姿勢,因此涉及程序。校準後,您具有相對姿勢,您所需要的只是相機與物體之間的相對位置。然後,你有兩個相機的對象的相對位姿。你還需要得到什麼? – fireant 2012-08-17 17:31:22

+0

抱歉不清楚。我已經用棋盤校準了一個攝像機 - 我現在想要拿一個類似的棋盤並將其附加到一個物體上,並且從攝像機對中獲得位置+物體的旋轉。 – user1607263 2012-08-17 18:01:25