0

我正在使用 stereocalibrate 和 stereorectify 来获取 Q 矩阵。我将此作为 cv.ReprojectImageto3D 的输入以获取深度图。但是当我尝试显示结果时,许多值被计算为无穷大。

在重新投影之前我是否需要更改或缩放任何内容。我们得到的结果是像素吗?

    (roi1,roi2) = cv.StereoRectify(camMatrix1, camMatrix2, d1, d2,(320,240), r, t, r1, r2, p1, p2, q, cv.CV_CALIB_ZERO_DISPARITY, -1, (0, 0))
    np.savetxt('Q_mat.txt',q)
    disparity  = getDisparity(img_r, img_l, "BM")
    disp = cv.fromarray(disparity)
    Image = cv.CreateMat(disp.rows, disp.cols, cv.CV_32FC3)
    Q = np.loadtxt('Q_mat.txt')
    Q = np.reshape(Q,(4,4))
    Q1 = cv.fromarray(Q)
    cv.ReprojectImageTo3D(disp, Image, Q1, 0)

图片链接:http: //i43.tinypic.com/2gtau5s.png

在此处输入图像描述 非常感谢提前

4

0 回答 0