2012-09-14 16 views
2

有人可以告訴我投影矩陣如何爲triangulatePoints?它並不那麼容易,我找到了幾個可能的投影矩陣,但現在還不知道哪一個是正確的。如何建立正確的投影矩陣?

如果我有來自Robust Matcher /或其他匹配方法的關鍵點,那麼我從E得到旋轉和平移。這將導致像P0 = [I | T]和P1 = [R | T]這樣的矩陣,其中R和T是提取,而不是更改值。我對嗎?當我有一個使用calibrateCamera()(顯示不是stereoCalibrate !!)或使用SolvePnP的立體聲設備時,我可以從camera1和camera2獲得R和T.這些矩陣是這樣的嗎?:P0 = [R0 | t0]和P1 = [R1 | t1]或P0 = [R0 | R0 * t0]和P1 = [R1 | R1 * t1]還是別的?

我發現了一些關於「糾正」的內容,你知道我是否已經過於糾正要求得到關鍵點或者是否是unistortPoints tiangulatePoints()所需的唯一需要的函數?

感謝您的幫助

回答

0

我們在3D重建有這些: 1圖像座標 2攝像頭cordinates 3世界座標

我們假設它們例如世界座標中的一個,並把其他的東西像那個座標中的相機。

我們有2個重要的矩陣 1視圖矩陣或投影矩陣描述該投影 2-模型矩陣描述該位置的對象

的旋轉通過兩個所述矩陣乘以我們具有描述模型視圖矩陣現場 OpenGL是一個很好的圖書館和開放的例子 你可以得到這個鏈接的幫助:http://www.songho.ca/opengl/gl_transform.html

+0

嗨AbSSH感謝您的回答,但其對投影矩陣是如何構建OpenCV的功能triangulatePoints更多的()。我像提到的那樣構建它,但它沒有奏效。什麼爲什麼我想知道它是如何創建的。我知道一般投影矩陣的構建,但它不適合這個功能。 – user1651460