Python3 - OpenCV& cv2.error:( - 1515)无法显示捕获的图像

时间:2017-08-30 15:47:09

标签: python-3.x opencv3.0 cv2

我正在尝试使用opencv-3.3.0cv2& python3.5

但是,我似乎无法展示我捕获的图像。

  • 我阅读了所有文档。
  • 我尝试了所有可能的答案。
  • 但是,我仍然没有成功。

我错过了什么?

代码:

import numpy as np
import cv2

img=cv2.imread("F:/Train/sreen.png")
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

错误:

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file D:\Build\OpenCV\opencv-3.3.0\moules\highgui\src\window.cpp, line 333 
Traceback (most recent call last):
File "F:\IQ_option\OpenCV\run.py", line 5, in <module>
    cv2.imshow('image',img)
cv2.error: D:\Build\OpenCV\opencv-3.3.0\modules\highgui\src\window.cpp:333: error: (-215) size.width>0 && size.height>0 in function cv::imshow

图片:

My Code.

6 个答案:

答案 0 :(得分:2)

这不起作用的唯一原因是您在此处尝试的文件未在imread命令中正确加载。加载的图片不存在,因此它表示size.wdthsize.height&gt; 0

您可以检查文件是否存在于指定位置。此外,您可能需要使用双\\,同时提供要显示的.png文件的完整路径。此外,这里可能不支持.png文件。您可以尝试任何其他.jpg图像文件,然后重试。一个例子是这样的:

img = cv2.imread('C:\\Users\\fakepath\\Pictures\\Messi.jpg', cv2.IMREAD_COLOR)

为我工作。

答案 1 :(得分:1)

我以前遇到过同样的问题。然后我意识到我的图像文件路径拼写错误。在我的代码中,一个图像文件名为“ note.jpg”,在我的目录中,该文件名为“ note.jpg.jpg”,而不是“ j.jpg”,我将其写为“ j.png”。重新校正它们后,一切进行顺利。

答案 2 :(得分:0)

import os
os.environ['OPENCV_IO_MAX_IMAGE_PIXELS']=str(2**64)
import cv2 

在导入cv2之前,您应该设置environ来解决该错误。它对我有用。

答案 3 :(得分:0)

确保文件路径正确。我拼错了文件(img = cv2.imread('Images / ab.png',0)而不是img = cv2.imread('Images / abi.png',0)),我得到了相同的错误: ....... cv2.error:OpenCV(4.1.0)/Users/travis/build/skvark/opencv-python/opencv/modules/core/src/matrix.cpp:757:错误:(-215:声明失败)在函数“ locateROI”中使<= 2 && step [0]> 0变暗。

可能就这么简单。

答案 4 :(得分:0)

如果您在使用ipython的jupyter这样的环境中工作,则必须检查:

  1. 如果图像路径正确
  2. 如果图像不为空

如果路径正确且映像不为空,则可能已安装了许多次OpenCv(我有同样的问题),并且笔记本电脑很困惑。解决方法很简单。

  • 找到笔记本在哪里存储下载的内容(对我来说是C:/ Users / MyUser / AppData / Roaming / Python / Python36...。)
  • 删除cv2文件以及与opencv相关的所有内容
  • 使用笔记本电脑1中内置的终端打开一个终端

-通过键入以下内容从头开始安装opencv-python:pip install opencv-python -如果需要,在命令末尾添加--user,以便您可以像管理员一样 -重新启动笔记本,应该没问题。我遇到了同样的问题,对我来说很好

答案 5 :(得分:0)

我犯了同样的错误。我尝试了很多方法来解决问题。但是后来我意识到问题出在道路上。 ({enter image description here请勿使用带有外来字母的路径)