我有2个相同场景的图像,但略有不同。这是因为我用2种不同的设备拍摄了照片,其中一种不完全正确。这在照片的某处产生了一点视差问题。当你比较两张照片时,它真的很轻微,但是对于我想对这些图像做什么感到非常不安。
我的问题是:什么是最小化创建错误的最佳算法?
我的想法是:在第一个图像中选取X点,在另一个图像中选择它们的对应点,然后创建一个将第一个点投影到另一个图像的函数,然后将此函数应用于场景中的所有点。类似的东西:(红点是拾取点,其他颜色是场景中每个点的变形(可能不正确,因为我快速完成)。
这是一个好的方法吗?如果是,那么使用这些点的好插值算法是什么。
如果不是,是否还有其他算法可以使用以最小化错误?
非常感谢!
是的,使用4对点可以计算透视变换矩阵,然后将此变换应用于整个图像。
OpenCV库包含getPerspectiveTransform
函数(也是findHomography
)。您还可以应用warpPerspective
来校正图像。