我正在使用此代码来计算两个图像之间的差异:
l1 = cv2.cvtColor(imgL, cv2.COLOR_BGR2GRAY)
l2 = cv2.cvtColor(imgR, cv2.COLOR_BGR2GRAY)
stereo = cv2.StereoBM_create(numDisparities=128, blockSize=15)
result = stereo.compute(l1, l2)
这种方法很好,但两幅图像的最大差异(无论多大)总是在灰度中显示为白色像素,因此灰度似乎是两幅图像中的相对比例。
是否有可能获得绝对差异,所以我可以测量立体图像的绝对距离?
答案 0 :(得分:1)
如果你想要的是获得到场景的真实距离,你可以看一下OpenCV样本(stereo_match.py,stereo_match.cpp)。
您需要的是从stereoRectify
获得的4x4
Q矩阵,它是差异到深度的映射矩阵。
reprojectImageTo3D
将视差图转换为3D地图。