【发布时间】:2020-03-05 17:21:02
【问题描述】:
我正在尝试使用以下代码计算物体与相机的距离。 所以方法是计算左右图像的视差,这将是矩阵格式。 一旦我得到视差,我使用公式深度 = 基线 * 焦距/视差
这里有两个问题:
- 为什么深度是负数?
-
以及如何使用深度矩阵获取物体与相机的实际距离。深度矩阵基本上给出了我不想要的每个点的距离。我想以米为单位计算物体的实际距离。
将 numpy 导入为 np 导入系统 导入简历2 从 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()
【问题讨论】:
-
不知道为什么它不作为代码
-
您的相机设置是否平行,图像是否经过校正?
标签: python opencv computer-vision stereo-3d disparity-mapping