将自有图片数据制成npz格式数据集

发布时间:2024年01月04日

在Python中,我们可以使用numpy库将多分类训练数据集制成NPZ格式。首先,我们需要将图片数据转换为适合神经网络输入的格式,例如将图片缩放到相同的大小,并将其归一化到0-1之间。然后,我们可以将这些数据保存为.npy文件,最后将其压缩为.npz文件。

1、示例

import numpy as np  # 导入numpy库,用于处理数组和矩阵运算
from PIL import Image  # 导入PIL库的Image模块,用于处理图像
import os  # 导入os库,用于处理文件和目录操作

def load_images(folder):
    images = []  # 创建一个空列表,用于存储图像数据
    labels = []  # 创建一个空列表,用于存储标签数据
    for filename in os.listdir(folder):  # 遍历指定文件夹中的所有文件
        img = Image.open(os.path.join(folder, filename))  # 打开当前文件,并将其转换为Image对象
        img = img.resize((32, 32))  # 将图像缩放到32x32大小
        img_array = np.array(img) / 255.0  # 将图像数据转换为numpy数组,并将像素值归一化到0-1之间
        images.append(img_array)  # 将处理后的图像数据添加到images列表中
        labels.append(int(filename.split('_')[0]))  # 从文件名中提取标签信息,并将其添加到labels列表中
    return np.array(images), np.array(labels)  # 将images和labels列表转换为numpy数组,并返回

def save_as_npz(images, labels, output_file):
    np.savez(output_file, images=images, labels=labels)  # 将images和labels数组保存为一个npz文件

folder = 'path/to/your/image/folder'  # 指定包含图像文件的文件夹路径
images, labels = load_images(folder)  # 调用load_images函数,加载图像数据和标签数据
output_file = 'output.npz'  # 指定输出的npz文件路径
save_as_npz(images, labels, output_file)  # 调用save_as_npz函数,将图像数据和标签数据保存为npz文件
 

2、注意

  • 确保所有图片具有相同的尺寸和颜色空间(例如,都是RGB或灰度图像)。
  • 在将图片数据保存为.npz文件之前,请确保已经对数据进行了适当的预处理,例如缩放、归一化等。
文章来源:https://blog.csdn.net/lymake/article/details/135387742
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。