0

我目前正在进行一项实验,我在不同的日子用固定的相机位置拍摄了多张场景照片。问题在于,在现实世界中,很难将相机完美固定。

我需要的是修复我自动得到的小差异。我所做的研究返回了考虑更复杂假设的方法,例如相机姿态估计、单应性估计等。对我来说,仅发现返回 x 和 y 的图像平面上的运动就足够了。一个完美的解决方案将是一个函数,例如:

函数 [movx movy] = detectMotion(im1,im2)。

我已经提出的解决方案是计算一些图像特征,如 harris 或 hessian,匹配它们,然后手动选择最好的,并使用它们的位置差异作为相机位移估计。我不知道这是否足够好,但如果它是自动制作的会更好。

4

1 回答 1

3

您可以通过提取兴趣点周围的特征描述符来自动进行特征匹配。看看这个 OpenCV 教程,了解如何使用 SURF 和 FLANN 执行特征匹配。获得特征匹配后,运行 RANSAC 或最小二乘法以找到 x 和 y 偏移的最佳拟合。这将为您提供对相机运动的不错估计。

另一种选择是计算两帧之间检测到的兴趣点上的稀疏光流,然后按照上面的 RANSAC 或最小二乘程序计算最佳 x 和 y 偏移。密集光流可能更准确,但同时也可能被证明是矫枉过正。

于 2013-07-25T11:06:31.983 回答