无法使用cv2.imread()读取图像

问题描述 投票:0回答:2

我正在尝试读取图像并在 Ubuntu 中使用

OpenCV
显示它,但由于某种原因它不起作用。我正在读取的文件放置在代码所在的同一目录中,但它仍然不起作用。谁能告诉我这是怎么回事吗,谢谢

错误

None
Traceback (most recent call last):
  File "code.py", line 10, in <module>
    cv2.imshow('image', img)
cv2.error: OpenCV(3.4.2) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

代码.py

img = cv2.imread('sample1.jpg')
print(img)
cv2.imshow('image', img)
python ubuntu computer-vision opencv
2个回答
3
投票

显然,没有图像被加载为

print(img)
打印 None,因此您不能在 None 对象上使用 cv2.imshow。

img = cv2.imread('sample1.jpg')
if img != None:
     cv2.imshow('image', img)

您还可以使用以下方法检查是否有文件:

import os
os.path.isfile('sample1.jpg')

0
投票

使用:

  1. 绝对路径,即完整路径:

    img = cv2.imread('/home/jacob/Escritorio/11/1.jpg')

  2. 相对路径,即父目录,您的“code.py”和图像所在的位置。

    img = cv2.imread('../1.jpg')

两个点“..”代表文件的父目录 - 文件所在的目录,无论您使用 Ubuntu、Windows 还是 Mac - 所有基于 Unix 的操作系统。

© www.soinside.com 2019 - 2024. All rights reserved.