好的,经过四天的无意义编程后,当什么都不对或至少接近正确时,我会将我的人生难题发布到stackoverflow上。抱歉有点夸张,但今天我感觉像个糟糕的程序员。
无论如何,我的问题是:
使用RANSAC(N>8)获得基础矩阵。
我有两个图像,具有宽基线,但重叠部分足够,以便正确匹配足够数量的SURF关键点(约308个)(我绘制它们)。
现在出现了问题。我将2D点传递给cv :: findFindamentalMat,但我得到完全没有根据的结果。该函数返回:
为了解决矩阵的大动态范围,Hartley建议对数据点进行归一化处理(在欧几里得空间中而不是投影空间中进行归一化处理)...即使进行了归一化处理,结果仍然几乎相同(10^-9到10^9)。
我知道FundMat只精确到比例,但10^-9到10^+9的差异太大了。
我参考了这里的其他问题,但似乎没有任何线索:findfundamentalmatrix-doesnt-find-fundamental-matrix how-to-calculate-the-fundamental-matrix-for-stereo-vision 任何想法都很好。这是考虑到未校准图像在软件流程的其余部分中非常重要的一步。
如果代码有帮助,可以查看此链接。
无论如何,我的问题是:
使用RANSAC(N>8)获得基础矩阵。
我有两个图像,具有宽基线,但重叠部分足够,以便正确匹配足够数量的SURF关键点(约308个)(我绘制它们)。
现在出现了问题。我将2D点传递给cv :: findFindamentalMat,但我得到完全没有根据的结果。该函数返回:
FundMat=[2.05148e-13 3.72341 -2.03671e+10
1.6701e+26 -4.17712 4.59533e+29
3.32414e+18 2.8843 1.91069e-26]
为了解决矩阵的大动态范围,Hartley建议对数据点进行归一化处理(在欧几里得空间中而不是投影空间中进行归一化处理)...即使进行了归一化处理,结果仍然几乎相同(10^-9到10^9)。
我知道FundMat只精确到比例,但10^-9到10^+9的差异太大了。
我参考了这里的其他问题,但似乎没有任何线索:findfundamentalmatrix-doesnt-find-fundamental-matrix how-to-calculate-the-fundamental-matrix-for-stereo-vision 任何想法都很好。这是考虑到未校准图像在软件流程的其余部分中非常重要的一步。
如果代码有帮助,可以查看此链接。