我正在尝试使用以下代码计算物体与相机的距离。 因此,方法是计算矩阵格式的左右图像的视差。 得到视差后,我将使用公式Depth = Baseline *焦距/视差
这里有两个问题:
- 为什么深度变为负数?
-
以及如何使用深度矩阵获得物体与摄像机的实际距离。深度矩阵基本上给出了我不需要的每个点的距离。我想以米为单位计算物体的实际距离。
将numpy导入为np 导入系统 导入cv2 从matplotlib导入pyplot作为plt %matplotlib内联
imgL = cv2.imread('C:/ Users / Akash Jain / Documents / ZED / LeftDepth / left000005.png',0) imgR = cv2.imread('C:/ Users / Akash Jain / Documents / ZED / RightDepth / right000005.png',0)
立体声= cv2.StereoBM_create(numDisparities = 16,blockSize = 5) 视差= stereo.compute(imgL,imgR) D = 0.12 * 0.70 * 672 /视差 打印(“视差”,视差) 打印(“深度”,D) plt.imshow(视差,'灰色') plt.show()