我正在实施一种有点通用的方法来处理带有相机校准的图像。
我想要一个总是调用重映射的基本例程。因此,即使我没有校准过的相机,我也想使用可以传递给 remap 的默认值调用相同的例程。
有人可以指导我将哪些默认值传递给 InitUndistortRectifyMap ,当输出传递给 remap 时不会导致图像修改?
当相机未校准或未找到保存的校准文件时,这将允许我采用通用方法。
谢谢你的帮助。
我正在实施一种有点通用的方法来处理带有相机校准的图像。
我想要一个总是调用重映射的基本例程。因此,即使我没有校准过的相机,我也想使用可以传递给 remap 的默认值调用相同的例程。
有人可以指导我将哪些默认值传递给 InitUndistortRectifyMap ,当输出传递给 remap 时不会导致图像修改?
当相机未校准或未找到保存的校准文件时,这将允许我采用通用方法。
谢谢你的帮助。
好吧,我还没有测试过,但是......从OpenCv 站点的文档中,你有以下等式:
所以,如果你设置:
fx = fy = f'x = f'y = 1
cx = cy = c'x =c'y = 0
也就是说,相机矩阵 = 3x3 恒等式,并且
R = 3x3 identity
和零失真:
k1 = k2 = k3 = p1 = p2 = 0
你应该最终得到
mapx(u,v) = u
mapy(u,v) = v
也就是地图上每个点的原始坐标。