<p>为了增加<a href="https://stackoverflow.com/users/1334399/fireant">fireant</a>的响应,这里有一个候选解决方案,假设预期的X方向与连接两个相机投影中心的线重合。在</p>
<ol>
<li>计算焦距fΒ1和f_2(通过针孔模型校准)。在</li>
<li>求解摄影机2的epipole在摄影机1的帧中的位置。为此,可以使用立体相机对的基本矩阵(F)或基本矩阵(E)。具体地说,左右极磁极位于F的空空间中,因此可以使用<a href="https://pythonpath.wordpress.com/2012/08/26/epipole-and-epipolar-lines/" rel="nofollow noreferrer">Singular Value Decomposition</a>。关于坚实的理论参考,见Hartley和Zisserman,第二版,表9.1“基本矩阵属性摘要”,第246页(<a href="https://www.robots.ox.ac.uk/~vgg/hzbook/hzbook2/HZepipolar.pdf" rel="nofollow noreferrer">freely available PDF of the chapter</a>)。在</li>
<li>摄影机1的投影中心,即(0,0,0)和右epipole的位置,即(e_x,e_y,f_1)一起定义了一条与连接摄影机中心的线对齐的光线。这可以用作预期的X方向。把这个向量称为v_x</li>
<li>假设预期的Y轴在图像平面中朝下,即从(0,0,f_1)到(0,height-1,f_1),其中f是焦距。把这个向量称为v</li>
<li>期望的Z方向现在是向量v_x和v_y的叉积</li>
<li>使用预期的Z方向和相机1的光轴(Z轴),你可以从两个3D向量计算旋转矩阵,比如<a href="https://stackoverflow.com/questions/23166898/efficient-way-to-calculate-a-3x3-rotation-matrix-from-the-rotation-defined-by-tw">this other stackoverflow post</a>中列出的方法。在</li>
</ol>
<p><strong>实用说明:</strong>
根据我的实际经验,如果不付出相当大的努力,期望平面对象与立体基线精确对齐是不太可能的。需要一定量的平面拟合和额外的旋转。在</p>
<p><strong>一次性努力:</strong>
这取决于您是否需要这样做一次,例如一次性校准,在这种情况下,只需将此估计过程实时化,然后旋转您的立体相机对,直到深度贴图方差最小化。然后锁定你的相机位置,祈祷以后不要有人撞到它。在</p>
<p><strong>重复性:</strong>
如果您需要将估计的深度贴图与随捕捉到的每一个新帧而变化的真正任意Z轴对齐,那么您应该考虑在平面估计方法上投入时间,并使其更加健壮。在</p>