Python OpenCV 视差计算:遍历文件夹读取图片并计算视差
以下是使用 Python 和 OpenCV 库实现读取两个文件夹下的两张图片计算视差,遍历文件夹下所有图片的代码:
import cv2
import os
# 两个文件夹的路径
left_folder = 'left_images'
right_folder = 'right_images'
# 获取文件夹中的所有图片
left_images = os.listdir(left_folder)
right_images = os.listdir(right_folder)
# 遍历所有图片
for i in range(len(left_images)):
# 读取左右两张图片
left_image = cv2.imread(os.path.join(left_folder, left_images[i]))
right_image = cv2.imread(os.path.join(right_folder, right_images[i]))
# 转换为灰度图
left_gray = cv2.cvtColor(left_image, cv2.COLOR_BGR2GRAY)
right_gray = cv2.cvtColor(right_image, cv2.COLOR_BGR2GRAY)
# 创建StereoBM对象
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
# 计算视差
disparity = stereo.compute(left_gray, right_gray)
# 显示结果
cv2.imshow('Left Image', left_image)
cv2.imshow('Right Image', right_image)
cv2.imshow('Disparity', disparity)
cv2.waitKey(0)
cv2.destroyAllWindows()
这段代码使用 cv2.StereoBM_create() 函数创建了一个 StereoBM 对象,用于计算左右两张图片的视差。代码还使用 cv2.imshow() 函数来显示结果。最后,cv2.destroyAllWindows() 函数关闭所有窗口。
原文地址: https://www.cveoy.top/t/topic/nyyP 著作权归作者所有。请勿转载和采集!