目前我正在尝试运行 ConvNet。随后将输入神经网络的每张图像都存储为列表。但目前该列表是使用三个 for 循环创建的。看一看:
im = Image.open(os.path.join(p_input_directory, item))
pix = im.load()
image_representation = []
# Get image into byte array
for color in range(0, 3):
for x in range(0, 32):
for y in range(0, 32):
image_representation.append(pix[x, y][color])
我很确定这不是最好、最有效的方法。因为我必须坚持上面创建的列表的结构,所以我考虑使用numpy
并提供另一种方法来达到相同的结构。
from PIL import Image
import numpy as np
image = Image.open(os.path.join(p_input_directory, item))
image.load()
image = np.asarray(image, dtype="uint8")
image = np.reshape(image, 3072)
# Sth is missing here...
但我不知道如何重塑和连接image
以获得与上面相同的结构。有人可以帮忙吗?
一种方法是调换轴,这本质上是扁平化的fortran
模式 in.n.反向方式——
image = np.asarray(im, dtype="uint8")
image_representation = image.ravel('F').tolist()
要更仔细地了解该功能,请查看numpy.ravel 文档 https://docs.scipy.org/doc/numpy/reference/generated/numpy.ravel.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)