通过拾取点来最小化视差误差

问题描述 投票:0回答:1

我有2个相同场景的图像,但略有不同。这是因为我用2种不同的设备拍摄了照片,其中一种不完全正确。这在照片的某处产生了一点视差问题。当你比较两张照片时,它真的很轻微,但是对于我想对这些图像做什么感到非常不安。

我的问题是:什么是最小化创建错误的最佳算法?

我的想法是:在第一个图像中选取X点,在另一个图像中选择它们的对应点,然后创建一个将第一个点投影到另一个图像的函数,然后将此函数应用于场景中的所有点。类似的东西:enter image description here(红点是拾取点,其他颜色是场景中每个点的变形(可能不正确,因为我快速完成)。

这是一个好的方法吗?如果是,那么使用这些点的好插值算法是什么。

如果不是,是否还有其他算法可以使用以最小化错误?

非常感谢!

c++ algorithm points
1个回答
0
投票

是的,使用4对点可以计算透视变换矩阵,然后将此变换应用于整个图像。

OpenCV库包含getPerspectiveTransform函数(也是findHomography)。您还可以应用warpPerspective来校正图像。

Example

© www.soinside.com 2019 - 2024. All rights reserved.