2012-02-09 69 views
5

OpenCV包含了很多來自立體相機的3D重建支持。在我的情況下,我有六個校準攝像機(內在和外在),我想採取共同的二維點(例如,測試球),並獲得相應的三維位置。有關如何做到這一點的任何想法?從多個2D點重建3D點?

我有什麼:
1)多臺攝像機
2)測試球的2D位置(在每個圖像平面)的校準參數

我想什麼:
1)對應的三維點測試球體

+4

答案位於Epipolar幾何中,可以所有這些都可以在這本開創性的書中找到:計算機視覺中的多視圖幾何http://www.robots.ox.ac.uk/~vgg/hzbook/ - 如果沒有閱讀,你甚至不應該考慮冒險進入簡歷世界至少預定一次。 – 2012-02-10 03:04:11

+0

感謝提示Xander。我很久以前就讀過這本書,但因爲忘了它。一個很好的資源。 – user1200565 2012-02-10 18:27:12

+0

如果您在圖像對之間有2D點對應關係,請查看「束調整」方法 – nbsrujan 2018-02-14 04:27:49

回答

1

你知道相機之間的位置關係嗎?

然後,每幅圖像都會給出水平和垂直角度 - 從相機矩陣和極線模型。這爲每個攝像機提供了一條直線到空間 - 只需解決所有這些相交點。

3

您的校準參數將爲您提供每個相機每個2D點的光線。如果您已經確定哪些射線對應於您的測試球體,那麼您需要做一個適合您的目標點的least squares。 (雖然鏈接使用最小二乘法進行線性迴歸,但您可以使用相同的方法找到使所有2D點的平方誤差總和最小的3D點。)