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

Python+OpenCV读取图片时imshow断言失败问题求助

解决OpenCV imshow断言错误(size.width>0 && size.height>0)

嘿,刚接触Python和OpenCV对吧?别慌,这个错误我当初入门时也踩过坑😉,咱们一步步来排查问题:

首先,这个错误的核心原因是**cv2.imread没有成功加载到图片**,返回的img是None,所以cv2.imshow没法显示一个不存在的图像,才会抛出这个断言失败的错误。

下面是几个最常见的故障原因和对应的解决方法:

  • 图片路径不正确
    如果用的是相对路径(比如直接写Test1.jpg),必须确保图片文件和你的Python脚本在同一个文件夹里。你可以先运行下面的代码确认当前脚本的工作目录:

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

    然后检查Test1.jpg是不是在这个目录里。如果不在,要么把图片移过去,要么改用绝对路径(比如/Users/vinayak/PycharmProjects/Python_test1/Test1.jpg),绝对路径不会出错。

  • 文件名拼写错误
    注意系统的大小写区分(比如macOS、Linux是区分大小写的),别把test1.jpg写成Test1.jpg;另外还要检查后缀名,比如是不是把.png写成.jpg了,这些细节很容易忽略。

  • 图片文件损坏
    试着手动打开Test1.jpg看看能不能正常显示,如果打不开,说明图片本身损坏了,换一张完好的图片测试就行。

最后给你一个更健壮的示例代码,加上图片加载成功的判断,能帮你快速定位问题:

import cv2
import os

# 确认当前工作目录
print("当前工作目录:", os.getcwd())

# 读取图片
img = cv2.imread('Test1.jpg', 0)

# 先判断图片是否加载成功
if img is None:
    print("❌ 图片加载失败!请检查路径或文件是否正确")
else:
    cv2.imshow('image', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:26:04