![](/img/trans.png)
[英]Opencv map 2D pixel coordinates to 3D world coordinates using fixed camera position
[英]How convert 3d world coordinates to 3d camera coordinates
我在世界坐標系中輸入了3D矢量點。 誰能描述或提供資源鏈接,以幫助我理解和實現所需的轉換和矩陣映射以轉換為相機坐標? 這個圖片http://www.mathworks.in/help/matlab/visualize/chview3.gif我知道這張圖片中的視點坐標是世界坐標,它們會轉換為相機坐標
您必須應用兩個數學運算:
示例(“ |”僅表示向量括號)
|x'| |x| - |x_vp|
|y'| = |y| - |y_vp|
|z'| |z| - |z_vp|
Z:
|x''| | cos a -sin a 0 | |x'|
|y''| = | sin a cos a 0 | * |y'|
|z''| | 0 0 1 | |z'|
Y:
|x'''| | cos b 0 -sin b | |x''|
|y'''| = | 0 1 0 | * |y''|
|z'''| | sin b 0 cos b | |z''|
例如,如果您的VP位於(1,1,1),則首先將其移位,以使舊的原點現在位於(-1,-1,-1)。 相機仍在朝x的正方向看,因此您可以將其繞z旋轉225度(現在在舊的z軸上定位),然后繞y旋轉45度以直接在舊原點上進行定位。
但是,您不會旋轉相機,而是旋轉相機的整個空間,因此必須將角度乘以-1。
您可以在http://en.wikipedia.org/wiki/Rotation_matrix中找到更多信息
如果您不知道矩陣乘法,則在那里的第一章將介紹它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.