【发布时间】:2014-05-11 21:15:28
【问题描述】:
给定一组对应关系和基本矩阵F,我正在尝试计算单应矩阵H。
根据对极几何原理,我知道这可以通过epiline 和F 的叉积来完成,来自Epipole Geometry
[e_ij] x F_ij = H_ij
我正在使用 OpenCV 从使用 cv::findFundamentalMat() 的两个视图之间的匹配集中查找基本矩阵 F。
我的问题是如何找到e_ij 以及如何使用它来计算H。在OpenCV 中有一个函数cv::computeCorrespondEpilines() 可以找到对应于每个给定点的epilines。
值得一提的是,我对直接从匹配集计算 H 不感兴趣,而只对计算的基本矩阵感兴趣。
谢谢
【问题讨论】:
-
其实这是一道数学题;)
-
理论上,基本矩阵应该是 2 阶的,它的内核(左右)只是极点。因此,如果您的
H公式正确,则问题归结为找到F的内核。当然,由于矩阵可能是从一些实际测量中计算出来的,所以秩总是 3,所以你应该使用类似 SVD 分解来找到对应于最小特征值的特征向量 (最接近于零),您就可以开始了。 -
您的核线符号令人困惑,因为
e通常表示核线。您应该使用l作为外线。 -
@AldurDisciple 我也不确定
e。这就是为什么我提供了我使用的参考资料的链接。如果那是极点,我应该如何计算和使用它。
标签: opencv geometry computer-vision homography