SGBM算法python源码
时间: 2023-07-26 16:15:24 浏览: 237
SGBM.zip_-baijiahao_python实现SGBM算法立体匹配_sgbm 配准 python_sgbm算法pyth
5星 · 资源好评率100%
以下是Python中使用OpenCV实现SGBM算法的示例代码:
```python
import cv2
# 读入左右两幅图像
img_left = cv2.imread('left.png', 0)
img_right = cv2.imread('right.png', 0)
# 创建SGBM对象
stereo = cv2.StereoSGBM_create(
minDisparity=0,
numDisparities=16*5,
blockSize=3,
P1=8*3*3**2,
P2=32*3*3**2,
disp12MaxDiff=1,
uniquenessRatio=10,
speckleWindowSize=100,
speckleRange=32
)
# 计算左右两幅图像的视差图
disparity = stereo.compute(img_left, img_right)
# 显示视差图
cv2.imshow('Disparity', disparity / 16.0)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这段代码中,我们首先读入了左右两幅图像,然后创建了一个SGBM对象,并设置了一些参数。接着,我们调用了SGBM对象的`compute`方法,计算了左右两幅图像的视差图,并将结果显示出来。需要注意的是,由于视差图中的像素值通常比较大,我们在显示时将其除以了16,以便更好地观察。
阅读全文