【问题标题】:Cannot read image using cv2.imread()无法使用 cv2.imread() 读取图像
【发布时间】:2019-01-04 17:32:37
【问题描述】:

我正在尝试读取图像并在 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'

code.py

img = cv2.imread('sample1.jpg')
print(img)
cv2.imshow('image', img)

【问题讨论】:

  • 错误消息表明该文件不是有效的 JPEG:宽度或高度不大于零。 file 程序说的是什么?如果您的系统有 ImageMagick,您可以使用 identify 程序识别许多图像,例如 identify sample1.jpg

标签: python opencv ubuntu computer-vision cv2


【解决方案1】:

显然,没有图像被加载为print(img) print None,因此您不能在 None 对象上使用 cv2.imshow。

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

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

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

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 2020-07-23
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2014-06-30
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多