【问题标题】:Python openCV: Cannot show an imagePython openCV:无法显示图像
【发布时间】:2015-12-03 01:50:18
【问题描述】:

我正在使用 python opencv,我正在尝试导入图像并显示它,但我收到以下错误:

import numpy as np
import cv2
img = cv2.imread('messi5.jpg',0)
cv2.imshow('image',img)
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, fi
le C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\highgui\src\
window.cpp, line 271
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cv2.error: C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\high
gui\src\window.cpp:271: error: (-215) size.width>0 && size.height>0 in function

【问题讨论】:

  • 看起来图像已损坏。您是否尝试在其他应用(例如某些查看器)中打开它?
  • @kvorobiev 是的。如果你想测试它,我已经上传了图片。
  • 在img = cv2.imread('messi5.jpg',0) 之后尝试执行type(img) 并发布结果
  • @kvorobiev 这是结果:&lt;type 'NoneType'&gt;
  • jpeg文件读取问题,imshow没有问题

标签: python python-2.7 opencv


【解决方案1】:
In [1]: a = None
In [2]: type(a)
Out[2]: NoneType
In [3]: import cv2
In [4]: img = cv2.imread('messi.jpg',0)
In [5]: type(img)
Out[5]: numpy.ndarray
In [6]: img = cv2.imread('messii.jpg',0)
In [7]: type(img)
Out[7]: NoneType

这里你的img 类型是NoneType。所以,这是缺少拼写或图像不存在的问题。请检查文件的拼写或存在。

【讨论】:

    【解决方案2】:

    请确保您的图像文件路径和 img_names(existed) 应该是正确的以及 imread() 对象结果不应该是无类型然后

    cv2.imshow('image', img)  
    cv2.waitkey(0)
    

    然后你的图片就可以显示了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-04
      • 2016-05-12
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 2021-04-20
      相关资源
      最近更新 更多