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

cv2.imread()读取当前文件夹图片始终返回None,路径无中文求助

解决OpenCV 4.9.0中cv2.imread返回None的问题
  • 确认当前工作目录
    Python脚本的执行目录不一定是脚本所在文件夹,先打印当前工作目录验证:

    import os
    print(os.getcwd())
    

    如果输出路径和3.png所在目录不一致,要么切换工作目录,要么用绝对路径拼接图片路径:

    import cv2
    import os
    # 获取脚本所在绝对目录
    script_dir = os.path.dirname(os.path.abspath(__file__))
    # 拼接图片路径
    img_path = os.path.join(script_dir, '3.png')
    img = cv2.imread(img_path)
    print(img)
    
  • 验证图片格式与完整性

    1. 检查文件是否真为PNG格式:有些文件后缀改了但实际是其他格式,OpenCV可能读取失败。可以用系统图片查看器确认格式,或者读取文件二进制内容判断是否为空:
      with open('./3.png', 'rb') as f:
          print(len(f.read()))  # 输出0则说明文件为空或损坏
      
    2. 确认图片未损坏:尝试用系统自带工具打开3.png,如果无法显示,说明文件损坏,需重新获取。
  • 尝试指定读取标志
    部分PNG(比如带透明通道的)可能需要明确指定读取标志:

    # 读取包含透明通道的完整图片
    img = cv2.imread('./3.png', cv2.IMREAD_UNCHANGED)
    # 或强制读取为彩色图
    img = cv2.imread('./3.png', cv2.IMREAD_COLOR)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:02:14