展开单应矩阵以进行失真

Expand homography matrix for distortion

我有两组对应的匹配项,我想计算它们之间的单应矩阵。但是,我发现仅使用单应矩阵无法对这些点之间的转换进行建模。我通过观察原始点集中的一些线在第二组中没有表示为线来计算这一点。

例如:

现实中之前的状态非常极端,失真比那个小得多。这通常是失真,因为第一组点是从扫描仪拍摄的图像中提取的,而另一组点是从手机拍摄的照片中提取的 phone。

问题:

如何扩展或概括单应矩阵以使其包含这种情况?或者换句话说,我想要一个非线性保留变换模型来使用它而不是单应矩阵,有什么建议吗?

P.S OpenCV库如果有现成的可以使用。

编辑:

消除失真对我来说可能不是一个选择,因为照片有点复杂而且我没有总是使用相同的相机而且我应该处理来自未知来源的图像(后端与前端分开) .但是,我有一个参考是规划器和一个具有透视+失真效果的查询,我想在找到相应的对匹配后更正它。

如果您提供一些图片示例会更好,以便我们更好地了解您的情况。从描述看来,您正在处理 camera distortion.

典型的方法是执行一次相机校准,然后对每一帧进行去畸变处理,最后处理直线看起来笔直的图像。使用 OpenCV 可以完成所有这些任务,请考虑上面的 link。

如果您无法执行相机校准来估计失真 - 您无能为力。尝试在未校正的图像上计算和应用单应性 - 如果相机没有广角镜头,这应该看起来不错(例如考虑 情况)