Невозможно прочитать изображение с помощью cv2.imread()

Я пытаюсь прочитать изображение и показать его с помощью OpenCV в Ubuntu, но по какой-то причине это не работает. Файл, который я читаю, находится в том же каталоге, где находится код, но все равно не работает. Кто-нибудь может сказать мне, что происходит, спасибо

Ошибка

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)

person arush1836    schedule 27.07.2018    source источник
comment
В сообщении об ошибке говорится, что файл не является допустимым JPEG: либо ширина, либо высота не больше нуля. Что говорит программа file? Если в вашей системе есть ImageMagick, вы можете идентифицировать многие изображения с помощью программы identify, например identify sample1.jpg   -  person PM 2Ring    schedule 27.07.2018


Ответы (1)


По-видимому, изображение не было загружено как print(img) напечатанное None, поэтому вы не можете использовать cv2.imshow для объекта None.

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

Вы также можете проверить, есть ли файл, используя:

import os
os.path.isfile('sample1.jpg')
person modkin    schedule 27.07.2018