我有一对水平对齐的立体相机,使用完整尺寸的图像进行校准 .

我正在通过调用cv2.initUndistortRectifyMap来获取每个摄像头的 Map ,然后是cv2.remap

使用全尺寸图像时,看起来像:

map1, map2 = cv2.initUndistortRectifyMap(camera_matrix_1, dist_coeffs_1, R1, P1, (w, h), cv2.CV_16SC2)
map3, map4 = cv2.initUndistortRectifyMap(camera_matrix_2, dist_coeffs_2, R2, P2, (w, h), cv2.CV_16SC2)
rectified1 = cv2.remap(img1, map1, map2, cv2.INTER_LINEAR)
rectified2 = cv2.remap(img2, map3, map4, cv2.INTER_LINEAR)

cv2.initUndistortRectifyMap 的参数是 cv2.stereoCalibratecv2.stereoRectify 的输出

然而,为了提高处理速度,在处理之前,图像将被裁剪(并且可能被装箱),然后才能被整流 . 这意味着整改过程不能使用图像的全尺寸 .

在整改完成之前,需要更改什么才能使代码与图像的裁剪(和分级)一起工作?