小编Sig*_*iPi的帖子

如何计算立体视觉的基本矩阵

我正在尝试编写一些代码来计算基本矩阵,以确定立体图像之间的关系.我从大多数人推荐的Hartley和Zisserman书开始,但它没有任何实际的例子,它的示例代码是在MATLAB中,我没有.然后我转到了3D计算机视觉技术和算法的介绍,它更实用,并且有实际的例子.我使用Python和numpy实现了推荐的8点算法,但是我无法验证它的有效性.

我正在使用第48页上列出的数据集(使用上面的链接查看Google图书摘录).当我对点进行标准化时,我会得到与该书相同的结果.但是,当我使用numpy的SVD函数计算基本矩阵时,我得到F的以下值:

[[-0.01851684 -0.21631176 -0.67036356]
 [ 0.2605251  -0.01023853  0.14234079]
 [ 0.63748775 -0.09404508 -0.00220713]]
Run Code Online (Sandbox Code Playgroud)

该矩阵满足等式p_R ^*F*p_L = 0,因此看起来是正确的.但是,它与书中计算的矩阵非常不同.我尝试使用OpenCV的cv.FindFundamentalMat()仔细检查答案,我得到了第三个答案:

[[  22.98129082  271.46453857  853.74273682]
 [-334.1673584    -4.84123087 -175.99523926]
 [-809.88891602  125.99833679    1.        ]]
Run Code Online (Sandbox Code Playgroud)

我不是那些其他两个矩阵的计算方法,但我在网上找不到任何基本矩阵计算的例子来验证我对8点算法的实现.事实上我的实现返回一个满足等式的值给了我信心,但我担心我做了一些愚蠢的事情,这就是为什么我无法匹配书中或OpenCV的结果.

opencv computer-vision stereo-3d

7
推荐指数
1
解决办法
5051
查看次数

标签 统计

computer-vision ×1

opencv ×1

stereo-3d ×1