python - 如何将文件路径中的图像格式化为与 python 中的 mnist.load_data() 相同的方式?

标签 python image

如何将文件路径中的图像格式化为与 mnist.load_data() 相同的方式? 我目前正在从目录/文件路径获取图像,如何以与 mnist 用于 mnist.load_data() 相同的方式格式化这些图像?

最佳答案

keras.datasets.mnist.load_data 实际上只是 loads a preprocessed pickle file 。如果您检查 X_trainX_test 的数据类型,它们只是表示图像像素值 (0-255) 的 float numpy 2D 数组。而 y_trainy_test 只是表示类/标签 (0-9) 的 numpy 一维数组。

因此,模仿该功能的第一种方法是使用图像处理库(例如 opencv )将图像读取到 numpy 中。数组并最终使用 sklearn 分割它们:

import numpy as np
import cv2
from sklearn.model_selection import train_test_split

X = []
y = []

# convert color image to 2D array (grayscale) & rescale
data = cv2.imread('zero.jpg',0) / 255.0
label = 0 # label/class of the image
X.append(data)
y.append(label)

# loop trough all images ...

# split for training & testing
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)

您可以尝试的另一种方法是使用 keras ImageDataGenerator.flow_from_directory(color_mode='grayscale') 。输出是一个 ImageDataGenerator 对象,可以传递给 keras model.fit_generator() 函数。为了使用此功能,您应该将数据集安排到训练和测试目录中,其中每个目录都包含代表其中图像类别的子目录。详细说明请见here .

关于python - 如何将文件路径中的图像格式化为与 python 中的 mnist.load_data() 相同的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42609069/

相关文章:

python - 在 python 中读取缺少项目的列

python - 如何验证 Python 字节码?

android - 将位图缩放到 80%

python - 如何处理和提取图像中的文本

html - 无法获取 2 张图像以展开以填充父 div

Python - 为什么 extend() 和 append() 返回 None (void)?

python - 从 CSV 复制到 SQL 时丢失数据

python - 使用 Python 的 xml.dom.minidom

iphone - 如何在 iPhone 的 MFMailComposeViewController 中将图像嵌入 html

java - 以预设的纵横比和宽度/高度裁剪图像并保存