Что означают значения в массиве NumPy, полученные из изображения? - PullRequest
0 голосов
/ 11 января 2019

Предположим, у меня есть какое-то изображение, расположенное в img_path. Код выглядит следующим образом:

from keras.preprocessing import image
import numpy as np

img = image.load_img(img_path, target_size=(150,150))
img_tensor = image.img_to_array(img)

Когда я печатаю img_tensor, я получаю следующее:

array([[[164., 174., 186.],
        [161., 171., 183.],
        [161., 170., 185.],
        ...,
        [198., 214., 240.],
        [200., 216., 242.],
        [200., 216., 242.]],

       [[160., 170., 182.],
        [157., 167., 179.],
        [158., 167., 182.],
        ...,
        [199., 215., 241.],
        [201., 217., 243.],
        [201., 217., 243.]],

       [[161., 171., 183.],
        [159., 169., 181.],
        [160., 169., 184.],
        ...,
        [199., 215., 241.],
        [199., 215., 241.],
        [199., 215., 241.]],

Массив, очевидно, продолжается и в конце говорит: dtype=float32.

Я знаю, что размеры 150х150х3. Таким образом, я предполагаю, что каждый бит в скобках, записанный, например, как [50., 50., 50.], представляет собой отдельный пиксель в трех каналах для красного, зеленого и синего. Таким образом, R на 50 (из возможных 255 - максимум для красного).

Затем, когда он закрывается двойными скобками, мы завершили ряд пикселей.

Правильна ли моя интуиция?

1 Ответ

0 голосов
/ 11 января 2019

Да, ваша интуиция абсолютно верна. Многомерный массив - это RGB-представление всех пикселей изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...