立体视觉 - 校正图像 - 在 2D 图像上激活 3D 旋转矩阵

问题描述

我正在尝试实现某种形式的立体视觉。 我有 2 张从不同位置拍摄的同一场景的图像。 我计算了彼此之间的旋转 + 平移矩阵(3x4 矩阵) 我想在一个图像(2D RGB 矩阵)上激活矩阵的旋转部分(第一个 3x3 块)来纠正它。所以它会被旋转并看起来与另一个图像的角度相同(没有平移,相机的角度相同,但位置不同)。

我正在使用 python, 我试图查看 open cv - here,但找不到执行此操作的函数

有什么想法吗?

谢谢!

解决方法

更新 - 我找到了解决方案:

import cv2
def rectify(img,R):
    map1,map2 = cv2.initUndistortRectifyMap(cam_mat,None,R,cam_mat,img.shape[1::-1],cv2.CV_32FC1)
    rectifiedImg = cv2.remap(img,map1,map2,cv2.INTER_NEAREST)

    return rectifiedImg