在我的左相机,右相机和立体声校准;我已经指出了正方形的大小
0.025 (25 millimeters)
所以我使用reprojectImageTo3D(disp, Q)
disp = stereo.compute(dstL, dstR).astype(np.float32) / 16.0
disp = abs(disp-min_disp)/num_disp
我从stereoRectify
我拍了一张离立体相机2.5到3英尺的盒子的照片,并检索了位于它上面的点的xyz
坐标。其Z
值为140.8764
我该如何解释?
我的Q
看起来像这样
|1, 0, 0, -454.05216408|
|0, 1, 0, -231.55072975|
|0, 0, 0, 816.20826814 |
|0, 0, 13.79730561, -0 |
答案 0 :(得分:1)
在所有相应的校准功能(在这种情况下为米)中一致地使用了单位,那么cv::reprojectImageTo3D
的输出应该具有相似的单位(这里也是米)。
在Q
中,(3,2)处的值是相机基线值的倒数(此处为0.0725 m
,这是有意义的)。 (0,3)和(1,3)处的值是主要点的xy坐标(大致是图像的中间;再次有意义)和(2,3)是相对焦距(相对于图像宽度) )。
不要缩放差异。请注意这一行:
#disp = abs(disp-min_disp)/num_disp