如何创建形状为 (12500, 50,50) 的 mnist 相似图像数据集

How to create a similar image dataset of mnist with shape (12500, 50,50)

如何创建形状与 mnist 相似的图像数据集 (12500, 50,50)

我有一个包含 12500 张图像的文件夹。我想用这些图像生成一个数据集,以便在 keras 中对图像进行排序。我想生成一个类似于 mnist 的数据集,形状为 (12500, 50,50)。我全神贯注于创建代码以生成数据集。我正在尝试创建一个 numpy 数组,但它没有得到我想要的格式。我相信我应该使用 opencv resize 函数来保留所有高度和宽度为 50x50 形状的图像。 感谢关注

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("C:/Teste_datasets/PetImages/Cat/*.jpg")

for myFile in files:
    print(myFile)
    image = cv2.imread (myFile, cv2.IMREAD_GRAYSCALE)
    X_data.append (image)

X_data = np.array(X_data)

X_data = X_data.astype('float32') / 255

IMG_SIZE = 50

X_data = cv2.resize(X_data, (IMG_SIZE, IMG_SIZE))

X_data = X_data.reshape((X_data.shape[0], 50, 50,1))

您应该调整图像的大小,而不是整个数据集:

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("C:/Teste_datasets/PetImages/Cat/*.jpg")
IMG_SIZE = 50

for myFile in files:
    print(myFile)
    image = cv2.imread (myFile, cv2.IMREAD_GRAYSCALE)
    image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
    X_data.append (image)

X_data = np.array(X_data)
X_data = X_data.astype('float32') / 255

print(X_data.shape)
[daniel@daniel-pc Keras]$ python3 testeKeras.py
<...>/2.png
<...>/1.png
(2, 50, 50)

此外,没有理由 reshape,因为自从您使用 cv2.IMREAD_GRAYSCALE 加载图像后,您已经有了一个表示颜色的值。