Открыть / загрузить изображение как NumPy ndarray напрямую - PullRequest
0 голосов
/ 10 мая 2018

Раньше я использовал scipy, который загружал изображение из файла прямо в ndarray.

from scipy import misc
img = misc.imread('./myimage.jpg')
type(img)
>>> numpy.ndarray

Но теперь он дает мне DeprecationWarning, а в документах говорится, что он будет удален в 1.2.0. , и я должен вместо этого использовать imageio.imread. Но:

import imageio
img = imageio.imread('./myimage.jpg')
type(img)
>>> imageio.core.util.Image

Я мог бы преобразовать это, выполнив

img = numpy.array(img)

Но это кажется хакерским. Есть ли способ загрузить изображение прямо в массив, как я делал раньше с scipy misc.imread (кроме использования OpenCV)?

1 Ответ

0 голосов
/ 10 мая 2018

Результат imageio.imread уже является массивом NumPy; imageio.core.util.Image - это подкласс ndarray, который существует главным образом, поэтому массив может иметь атрибут meta, содержащий метаданные изображения.

Если вам нужен объект типа точно numpy.ndarray, вы можете использовать asarray:

array = numpy.asarray(img)

В отличие от numpy.array(img), он не будет копировать данные img.

...