You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行OpenCV双目深度估计算法时无法读取stereo_rectify_maps.xml文件求助

解决OpenCV无法读取data/stereo_rectify_maps.xml的问题

问题重现

运行双目深度估计代码时,出现文件读取错误:

[ERROR:0@1.008] global /Users/runner/work/opencv-python/opencv-python/opencv/modules/core/src/persistence.cpp (505) open Can't open file: 'data/stereo_rectify_maps.xml' in read mode

使用的代码片段:

import numpy as np 
import cv2

# Check for left and right camera IDs
# These values can change depending on the system
CamL_id = 2 # Camera ID for left camera
CamR_id = 1 # Camera ID for right camera

CamL= cv2.VideoCapture(CamL_id)
CamR= cv2.VideoCapture(CamR_id)

# Reading the mapping values for stereo image rectification
cv_file = cv2.FileStorage("data/stereo_rectify_maps.xml", cv2.FILE_STORAGE_READ)
Left_Stereo_Map_x = cv_file.getNode("Left_Stereo_Map_x").mat()
Left_Stereo_Map_y = cv_file.getNode("Left_Stereo_Map_y").mat()
Right_Stereo_Map_x = cv_file.getNode("Right_Stereo_Map_x").mat()
Right_Stereo_Map_y = cv_file.getNode("Right_Stereo_Map_y").mat()
cv_file.release()

解决步骤

  • 验证工作目录与文件路径
    在代码开头添加以下代码,打印当前Python脚本的工作目录:

    import os
    print("当前工作目录:", os.getcwd())
    

    确认data/stereo_rectify_maps.xml是否存在于该目录下。如果文件在其他路径,要么将文件移动到当前工作目录的data子文件夹,要么直接使用绝对路径替换相对路径,例如:

    cv_file = cv2.FileStorage("/Users/你的用户名/项目根目录/data/stereo_rectify_maps.xml", cv2.FILE_STORAGE_READ)
    
  • 检查文件存在性与权限

    • 手动前往路径确认文件是否存在,注意MacOS区分文件名大小写(如Data与data是不同文件夹),检查是否存在拼写错误。
    • 若文件存在但无法读取,在终端执行以下命令赋予读取权限:
      chmod +r /path/to/data/stereo_rectify_maps.xml
      
  • 确认文件已正确生成
    stereo_rectify_maps.xml是双目相机标定步骤的产物,若你跳过了教程中的标定环节,自然不会有这个文件。需先完成教程中的相机标定流程,生成映射文件后再运行当前代码。若已生成,检查标定代码的输出路径是否与当前代码的读取路径一致。

内容的提问来源于stack exchange,提问作者Fox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:40:32