gpt4 book ai didi

python - 无法将 RGB 图像读入 numpy 数组

转载 作者:行者123 更新时间:2023-12-01 02:26:12 25 4
gpt4 key购买 nike

我已经解决了关于这个主题的所有问题。这里面临一个奇怪的问题。我将图像路径存储在 file_names 中。

from skimage import io
import numpy as np

X = np.array([np.array(io.imread(i)) for i in file_names])
print(X.shape)
# (50,)
print(X[0].shape)
# (375, 500, 3)

我需要将 X 设为 (50, 375, 500, 3)。我尝试了reshape,添加np.newaxis等,但都失败了。我的下一步是将其用于 CNN。基本上,我想用我的图像创建一个 mnist_cnn 类型的数据集。

下一行:

model = Sequential()
model.add(Conv2D(64, kernel_size=(3, 3),
activation='relu',
input_shape = (375, 500, 3)))
model.add(Flatten())
model.add(Dense(num_classes, activation='softmax'))

model.compile(loss='categorical_crossentropy',
optimizer='adam', metrics=['accuracy'])
model.fit(X, y, # y is (50,36) using one hot encoding
batch_size=10,
epochs=10,
verbose=2)

原因是:

ValueError:检查输入时出错:预期 conv2d_3_input 有 4 个维度,但得到形状为 (50, 1) 的数组

最佳答案

numpy 部分看起来很简单:

from skimage import io
import numpy as np

# assumption: images are homogeneous in terms of dimensions and channels!
files = ['C:/TEMP/pic0.jpg', 'C:/TEMP/pic0.jpg', 'C:/TEMP/pic0.jpg', 'C:/TEMP/pic0.jpg']

image_array = np.stack([io.imread(i) for i in files]) # default: axis=0
image_array.shape
# (4, 720, 540, 3)

关于python - 无法将 RGB 图像读入 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47369739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com