2

我正在 Visual Studio 2012 中研究 OpenCV,我试图让 Homography 矩阵在 opencv 中缝合 2 个图像,所以我真的不知道要遵循的步骤:

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

9

首先,您应该知道,您在图像中说明的两点对应关系不足以进行单应性估计。单应性有 7 个自由参数 - 有 8 个矩阵元素,但单应性是齐次量。这意味着您可以随意缩放矩阵,从而将自由参数减少一。要估计 7 个参数,您至少需要四个对应点。

我认为理解你所做的比盲目调用 OpenCv 方法更重要,所以请阅读真正的算法。单应性计算最简单(但非最佳)的方法是 DLT,它相当于将方程重新排列为四个或更多点,以便在最小二乘意义上y = Hx求解 的分量。H这是对细节的一个很好的解释: https://engineering.purdue.edu/kak/courses-i-teach/ECE661.08/solution/hw4_s1.pdf 主要的学术参考是 Heartley 和齐瑟曼。

正如评论中所指出的,OpenCv 文档在这里: http ://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#findhomography

于 2013-03-16T23:30:55.277 回答
1

要在两个图像之间建立单应性,您至少需要 4 个点。每个都有两个坐标,给你两个方程/约束。单应性有 8 个自由度(它是一个具有 9 个元素的 3x3 满秩矩阵,-1 自由度,因为它在齐次坐标上运行)。

请注意,只有平面表面的图像,或者由围绕其中心旋转的相机拍摄的图像可以通过单应性关联(在后一种情况下,平面表面是无限远的平面)。

本页展示了如何使用特征提取和 RANSAC 计算单应性。

于 2017-11-21T05:38:02.440 回答