【发布时间】:2019-01-11 17:18:30
【问题描述】:
假设我有一些位于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 是红色的最大值)。
然后当它以双括号结束时,我们已经完成了一行像素。
我的直觉正确吗?
【问题讨论】:
-
是的,没错
-
@Georgy 我看到了那个帖子。让我感到困惑的是,这些值的比例与我所看到的不同。我相信他所展示的是按比例缩放的值。即,我看到的值除以 255。
标签: python arrays numpy image-processing