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

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