python将ubyte格式的MNIST数据集转成jpg图片格式并保存

您所在的位置:网站首页 图片格式如何转化为jpeg python将ubyte格式的MNIST数据集转成jpg图片格式并保存

python将ubyte格式的MNIST数据集转成jpg图片格式并保存

2024-07-03 16:01| 来源: 网络整理| 查看: 265

       我们去官网下载的MNIST数据集一般是ubyte格式的,这样的格式对于计算机来说可以正常读取使用,但是对我们人来说并不友好,有时候我们希望得到一张一张的图片,便于我们观察和测试等。下面给出将ubyte格式的MNIST数据集转成jpg图片格式的代码,以及一个下载链接,下载的文件中包括原始的ubyte格式的MNIST数据集和转换为jpg格式的数据集。

百度网盘链接:https://pan.baidu.com/s/1n7j36Qpa3GL17xjq7yHb4Q  提取码:xov3

# -*- coding: utf-8 -*- """ Created on Mon Jan 10 13:58:57 2022 @author: 2540817538(有问题请联系此QQ) python3.8.8 """ import numpy as np import cv2 import os import struct def trans(image, label, save):#image位置,label位置和转换后的数据保存位置 if 'train' in os.path.basename(image): prefix = 'train' else: prefix = 'test' labelIndex = 0 imageIndex = 0 i = 0 lbdata = open(label, 'rb').read() magic, nums = struct.unpack_from(">II", lbdata, labelIndex) labelIndex += struct.calcsize('>II') imgdata = open(image, "rb").read() magic, nums, numRows, numColumns = struct.unpack_from('>IIII', imgdata, imageIndex) imageIndex += struct.calcsize('>IIII') for i in range(nums): label = struct.unpack_from('>B', lbdata, labelIndex)[0] labelIndex += struct.calcsize('>B') im = struct.unpack_from('>784B', imgdata, imageIndex) imageIndex += struct.calcsize('>784B') im = np.array(im, dtype='uint8') img = im.reshape(28, 28) save_name = os.path.join(save, '{}_{}_{}.jpg'.format(prefix, i, label)) cv2.imwrite(save_name, img) if __name__ == '__main__': #需要更改的文件路径!!!!!! #此处是原始数据集位置 train_images = 'C:/Users/25408/Desktop/fashion/train-images.idx3.ubyte' train_labels = 'C:/Users/25408/Desktop/fashion/train-labels.idx1.ubyte' test_images ='C:/Users/25408/Desktop/fashion/t10k-images.idx3.ubyte' test_labels = 'C:/Users/25408/Desktop/fashion/t10k-labels.idx1.ubyte' #此处是我们将转化后的数据集保存的位置 save_train ='C:/Users/25408/Desktop/fashion/MNIST_data/train_images/' save_test ='C:/Users/25408/Desktop/fashion/MNIST_data/test_images/' if not os.path.exists(save_train): os.makedirs(save_train) if not os.path.exists(save_test): os.makedirs(save_test) trans(test_images, test_labels, save_test) trans(train_images, train_labels, save_train)

转化后的数据集内容如下:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3