как интерпретировать изображение PIL в массиве NumPy - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь понять вывод преобразования изображения в numPy

im = Image.open('flower1.jpg')
npimg = np.array(im)
npimg

выход

([[[127, 151,  89],
        [125, 149,  87],
        [125, 149,  87],
        ..., 
        [117, 142,  76],
        [115, 141,  73],
        [113, 140,  71]],...

Я не знаю, что понять из этого вывода? Может кто-нибудь помочь?

Ответы [ 3 ]

0 голосов
/ 04 сентября 2018

Напечатанное значение:

([[[127, 151,  89],
 ^ a list of rows
  ^ where each row is a list of pixels
   ^ where each pixel is a list of values that correspond to RGB
     (or RGBA, or L, etc... depending on the image format)

Вы можете увидеть форму массива numpy, обратившись к члену .shape.

0 голосов
/ 04 сентября 2018

Посмотрите на изображение ниже. enter image description here

В увеличенной версии изображение состоит из множества пикселей цветов, расположенных в строках и столбцах. Каждая точка или пиксель на изображении - это массив красного, синего и зеленого каналов.

Если вы попытаетесь, npimg.shape, вы получите набор из 3 чисел, например, (500,600,3), что означает, что на вашем пикселе в каждом пикселе 500 строк, 600 столбцов и 3 цвета.

0 голосов
/ 04 сентября 2018

Это массив nxmx3, где nxm - разрешение изображения, а 3 - красный, зеленый, синий цветовые каналы. Тип данных: uint8: значения находятся в диапазоне от 0 до 255 для каждого цветового канала.

...