невозможно загрузить изображение с помощью cv2.imread

Я пытаюсь загрузить изображение с помощью cv2.imread, но продолжаю получать эту ошибку

ошибка: (-215: утверждение не удалось) size.width> 0 && size.height> 0 в функции «imshow»

Я погуглил ошибку, и кажется, что в большинстве случаев проблема связана с неправильным написанием имени файла/пути. Однако я скопировал путь к файлу, используя опцию «копировать путь» на Mac. В чем может быть проблема?

Мой код:

import cv2
import numpy as np
from matplotlib import pyplot as plt
from scipy import ndimage
from skimage import measure, color, io

path='/Users/snysdh/Desktop/A1_Combined_T01.png'
img1=cv2.imread(path)

cv2.imshow("Red Image", img1)

person Shani Sadeh    schedule 10.04.2020    source источник
comment
Сначала вы должны подтвердить правильность пути, используя ls -la /Users/snysdh/Desktop/A1_Combined_T01.png   -  person ZdaR    schedule 11.04.2020
comment
Существует небольшая вероятность того, что файл поврежден (или имеет нестандартный формат PNG), или ваш скрипт Python не имеет прав на чтение файла. Попробуйте другой файл по другому пути (тот же путь, что и для файла Python, является хорошим предложением).   -  person Rotem    schedule 11.04.2020


Ответы (2)


Проблема связана либо с вашим путем, либо с изображением.

В качестве проверки работоспособности попробуйте сделать копию изображения и поместить ее в ту же папку, что и ваш скрипт, затем измените путь var на имя вашей копии path='copy.png'

По крайней мере, это должно работать. Надеюсь, поможет!

person Teejay Bruno    schedule 10.04.2020

Я думаю, вам нужно сделать несколько небольших проверок здесь. Скопируйте путь, указанный в пути, и попробуйте открыть в проводнике, чтобы проверить, действительно ли изображение существует по указанному пути.

path='/Users/snysdh/Desktop/A1_Combined_T01.png'

Если существует, нам нужно использовать // вместо /, так как бывают случаи, когда / с символом вокруг может рассматриваться как специальный символ. Или нам нужно написать r, чтобы сделать его регулярным выражением, чтобы избежать проблем со специальными символами.

person ashtav    schedule 12.04.2020