给定两个相机之间的R和T,将调用OpenCV的函数StereoRectify来执行相机校正,以对齐两个图像平面。无论使用罗德里格斯函数从R计算出的两个相机之间的角度有多大,这总能成功吗?我希望学习相机校正的原理。任何介绍性的论文或链接都很受欢迎。
发布于 2018-01-23 21:54:35
我也在想同样的问题。从代数的观点来看,图像校正是通过对已知极线几何的图像对应用2D投影变换(或单应变换)来实现的,使得原始图像中的极线映射到变换图像中的水平对齐的线。
因此,StereoRectify是对同一立体场景的两幅图像进行单应性变换,使其对应的核线重合并平行于图像的x轴的过程。总是应该有旋转和平移,以允许校正过程,但由于冗余自由度,立体校正的解决方案不是唯一的,实际上可能导致不希望的失真或陷入失真函数的局部最小值。
我的tested a stereo platform有两个摄像头,我使用了不同的姿势(R和T)。当我得到一个好的校准参数时,我总是能找到一个好的校正图像。输出图像的大小很大程度上取决于来自摄像机的重叠视图和失真参数。然而,它应该将每个匹配的搜索域限制在与x轴平行的一条线上,但在实践中,有时甚至只有几行。
一些有趣的论文:
https://stackoverflow.com/questions/45783679
复制相似问题