假设我在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
。
我知道尺寸为150x150x3。因此,我的猜测是,写成[50., 50., 50.]
的方括号中的每个都是红色,绿色和蓝色三个通道上的单个像素。因此R为50(可能的255为红色的最大值)。
然后用双括号将其关闭时,我们已经完成了一行像素。
我的直觉正确吗?
答案 0 :(得分:0)
是的,您的直觉是绝对正确的。多维数组是图像中所有像素的RGB表示。