3

我正在尝试使用opencv-3.3.0, cv2& 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

图片:

我的代码。

4

6 回答 6

8

这不起作用的唯一原因是您在此处尝试的文件未在imread命令中正确加载。加载的图像不存在,因为它说size.width并且size.height> 0。

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

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

为我工作。

于 2017-09-14T07:42:34.627 回答
1

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

于 2020-03-30T11:32:11.900 回答
1
import os
os.environ['OPENCV_IO_MAX_IMAGE_PIXELS']=str(2**64)
import cv2 

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

于 2019-05-05T14:16:10.530 回答
0

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

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

如果您有正确的路径并且您的图像不是空的,那么您可能已经安装了很多次 OpenCv(我遇到了同样的问题)并且笔记本很困惑。解决方案很简单。

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

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

于 2020-03-25T09:45:43.760 回答
0

我遇到了同样的错误。我尝试了很多方法来解决问题。但后来我意识到问题与路径有关。(请在此处输入图片描述不要使用带有外文字母的路径)

于 2020-04-01T15:09:26.853 回答
-1

确保您的文件路径正确。我拼错了文件(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: error: (-215:Assertion failed) dims <= 2 && step[0] > 0 in function 'locateROI'.

可能就这么简单。

于 2019-10-25T19:54:03.873 回答