在此代码中(由answer提供):
from PIL import Image
import numpy as np
def load_image(infilename):
img = Image.open(infilename)
img.load()
data = np.asarray(img, dtype="int32")
return data
def save_image(npdata, outfilename):
img = Image.fromarray(np.asarray(np.clip(npdata, 0, 255), dtype="uint8"), "L")
img.save(outfilename)
data = load_image('cat.0.jpg')
print(data.shape)
print(data.shape)
的值是三个昏暗(374, 500, 3)
的元组。因此,我有这些问题:
非常感谢。
答案 0 :(得分:1)
尺寸为:( row,col,channel) 是的,将1D阵列馈入神经网络通常是有意义的,例如,如果您使用完全连接的网络。 要重塑,您有多种选择:
使用重塑功能
data.reshape(-1)
使用展平功能
data.flatten()
答案 1 :(得分:0)
374行500列RGB(3)值(或像素),或这些维度的一些排列。
也许。虽然记住,任何这种1D编码都会丢弃不同像素之间的二维距离信息。如果您正在使用神经网络,请查看卷积神经网络,了解它们如何处理此问题。