用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/cHIx 著作权归作者所有。请勿转载和采集!