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

Python 3.9.13+Win10环境下cv2.imread读取图片失败求助

解决OpenCV读取图片返回None的问题

核心问题定位与修正

你的代码里有两个直接导致读取失败或报错的错误:

  1. 文件名拼写错误:cv2.imread('cat.jpg,', 3)中文件名末尾多了一个逗号,这会让OpenCV找不到正确的文件,直接返回None。
  2. 函数调用错误:导入的是cv2库,但后续调用显示窗口时用了cv.imshow,应该改为cv2.imshow。

修正后的完整代码

import cv2
import numpy as np
import matplotlib.pyplot as plt

# 修正文件名,移除多余逗号
img = cv2.imread('cat.jpg', 3)
print(img)

if img is not None:
    # 修正函数调用前缀为cv2
    cv2.imshow('cat', img)
    # OpenCV读取的是BGR格式,转换为RGB适配matplotlib显示
    img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    plt.imshow(img_rgb)
    plt.show()
    # 等待按键输入后关闭OpenCV窗口
    cv2.waitKey(0)
    cv2.destroyAllWindows()
else:
    print("图片读取失败,请检查文件路径或完整性")

额外排查建议(若修正后仍有问题)

  • 确认工作目录:可以在代码开头加入import os; print(os.getcwd()),打印当前脚本运行的工作目录,确保cat.jpg确实在该路径下;也可以直接使用图片的绝对路径,比如C:/your_path/cat.jpg(注意用正斜杠或双反斜杠)。
  • 检查文件完整性:用系统自带的图片查看器打开cat.jpg,确认文件没有损坏。
  • 关于opencv-python-headless:该版本不包含GUI组件,cv2.imshow无法正常工作,若需要显示图片窗口,建议卸载后安装标准版opencv-python。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:10:26