2016-05-07 41 views
0

我在3D空間中有一個正方形的2D圖片(投影)。我知道這是一個完美的正方形(90度角,等長邊)。方形同調座標

我希望能夠戳上正方形的投影上的一個點,並找到正方形上的「真實」座標。從互聯網上的一點點閱讀中,我瞭解到這些被稱爲「同質座標」。 (這是正確的嗎?)。爲了簡單起見,請假定每個正方形邊緣的長度爲1.

爲簡單起見,假設相機是一個非失真的針孔相機,並且如果需要可以測量它的任何屬性。此外,相機上的x,y座標的長度是對稱的。

我的程序是我正試圖在棋盤上找到一個棋子。我很容易檢測到電路板的角落,並且很容易找到該部分。不過,我試圖跳過檢測板上的各個方塊。

enter image description here

+0

查閱單應性估計:https://en.wikipedia.org/wiki/Homography_(computer_vision),http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html ?highlight = findhomography#findhomography – Zaphod

回答

1

你的四頂點(U(i)中,V(I))是正方形的頂點的透視投影(X(i)中,Y(I))。要找到正方形上某點的座標,必須使用四對點找到反向透視變換矩陣,並將該矩陣應用於給定的點座標。
Paul Heckbert article顯示了這個過程的數學。

可能您可以找到隨時可以使用的用於計算persp的庫。矩陣。 C++變體:Agg2

+0

如果已經有從方塊到屏幕的投影矩陣,可以將其反轉以獲得逆矩陣,然後使用它將點擊點轉換爲模型空間。否則按照Agg2使用Heckbert的方法。 –