我正在使用 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
非常感谢提前