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

Python脚本使用相对路径读取OpenCV图片失败,寻求解决方案

路径读取失败的排查与解决建议

针对你遇到的/HW/bilin_intpol.py无法通过../code/lenna.png加载图片的问题,整理几个常见原因和解决办法:

1. 运行脚本的工作目录不对

相对路径是基于你执行脚本时所在的目录,而不是脚本本身的存放目录。比如你如果在根目录/下执行python HW/bilin_intpol.py,那../code会被解析成/../code,这显然不存在。

  • 解决办法:
    • 先切换到脚本所在目录再运行:
      cd /HW && python bilin_intpol.py
      
    • 或者在脚本里自动获取绝对路径,避免依赖工作目录:
      import os
      import cv2
      
      # 获取脚本自身的绝对路径
      script_path = os.path.abspath(__file__)
      script_dir = os.path.dirname(script_path)
      # 拼接图片路径,系统会自动解析../为上级目录
      img_path = os.path.join(script_dir, '../code/lenna.png')
      # 更稳妥的方式是直接写绝对路径
      # img_path = '/code/lenna.png'
      img = cv2.imread(img_path)
      

2. 文件或路径本身有问题

  • 检查/code/lenna.png是否真实存在,注意Linux系统区分大小写,比如Lenna.png和lenna.png是不同文件。
  • 检查文件权限:用ls -l /code/lenna.png查看权限,如果脚本没有读取权限,执行sudo chmod +r /code/lenna.png赋予读权限。

3. OpenCV加载的隐藏问题

  • cv2.imread()加载失败不会报错,只会返回None,你可以先打印print(img)确认是不是None,确定是路径问题还是图片损坏。
  • 用系统自带工具(比如eog /code/lenna.png)打开图片,验证图片本身是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:17:13