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

使用相对路径读图失败,OpenCV imshow断言错误求助

解决OpenCV imshow报错:(-215:Assertion failed) size.width>0 && size.height>0

我正在做车牌检测与识别项目,之前代码运行完全正常,突然失效,OpenCV无法正常工作。运行简化测试代码时出现以下错误:

Traceback (most recent call last):
  File "c:\Users\user-pc\Desktop\Python Project VSCode\Code\main.py", line 5, in <module>
    cv2.imshow("real image", image)
cv2.error: OpenCV(4.5.4) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1006: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

测试用的简化代码如下:

import cv2

image = cv2.imread('T2.jpg')
cv2.imshow("real image", image)
cv2.waitKey(0)

已尝试的操作:

  • 卸载并重装OpenCV
  • 更换不同IDE(如VSCode)

排查与解决步骤

  1. 检查图片路径是否正确
    cv2.imread()如果找不到文件会返回None,此时imshow就会触发这个断言错误。

    • 确认T2.jpg和脚本main.py在同一目录下;
    • 或者使用绝对路径读取图片,比如:
      image = cv2.imread(r'c:\Users\user-pc\Desktop\Python Project VSCode\Code\T2.jpg')
      
    • 可以先打印image的值,如果输出None,说明路径有问题。
  2. 验证图片文件是否损坏

    • 尝试用系统自带的图片查看器打开T2.jpg,确认图片能正常显示;
    • 换一张已知正常的图片(比如随便一张jpg/png)替换T2.jpg,重新运行测试代码,看是否还报错。
  3. 修复OpenCV窗口显示问题
    有时候highgui模块的窗口后端可能出问题,可以尝试以下操作:

    • 在imshow前先创建窗口,并增加图片非空判断:
      import cv2
      
      cv2.namedWindow("real image", cv2.WINDOW_NORMAL)
      image = cv2.imread('T2.jpg')
      if image is not None:
          cv2.imshow("real image", image)
          cv2.waitKey(0)
          cv2.destroyAllWindows()
      else:
          print("无法读取图片")
      
    • 或者用matplotlib替代imshow来显示图片:
      import cv2
      import matplotlib.pyplot as plt
      
      image = cv2.imread('T2.jpg')
      if image is not None:
          # OpenCV读取的是BGR格式,转成RGB适配matplotlib
          image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
          plt.imshow(image_rgb)
          plt.show()
      else:
          print("无法读取图片")
      
  4. 检查文件权限

    • 确认T2.jpg没有被其他程序占用(比如Photoshop、画图等);
    • 确保脚本所在目录有读取文件的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:20:31