以下是使用 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() 函数关闭所有窗口。

Python OpenCV 视差计算:遍历文件夹读取图片并计算视差

原文地址: https://www.cveoy.top/t/topic/nyyP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录