我正在使用 tsai 算法进行相机校准。我得到了内在和外在矩阵,但如何从该信息重建 3D 坐标?
1)我可以使用高斯消元法来查找 X,Y,Z,W,然后点将 X/W 、 Y/W 、 Z/W 作为齐次系统。
2) I can use the
OpenCV documentation approach:
我所知u
, v
, R
, t
,我可以计算X,Y,Z
.
然而,这两种方法最终都会得到不正确的不同结果。
我做错了什么?
如果你有外部参数,那么你就得到了一切。这意味着您可以从外部获得单应性(也称为 CameraPose)。位姿是一个 3x4 矩阵,单应性是一个 3x3 矩阵,H定义为
H = K*[r1, r2, t], //eqn 8.1, Hartley and Zisserman
with K是相机本征矩阵,r1 and r2是旋转矩阵的前两列,R; t是平移向量。
然后将所有内容标准化除以t3.
色谱柱会发生什么情况r3,我们不用它吗?不,因为它是多余的,因为它是姿势的前 2 列的叉积。
现在您已经有了单应性,请投影点。你的 2d 点是 x,y。添加 z=1,所以它们现在是 3d 的。将它们投影如下:
p = [x y 1];
projection = H * p; //project
projnorm = projection / p(z); //normalize
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)