热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用opencv将mnist数据集保存在计算机上

许多人在使用mnist数据集时都是直接调用,那么如果想将mnist数据集保存在本机中该怎么做呢首先我们要知道mnist数据集中的数据时什么样的如下所示࿰

许多人在使用mnist数据集时都是直接调用,那么如果想将mnist数据集保存在本机中该怎么做呢

首先我们要知道mnist数据集中的数据时什么样的

如下所示,为训练集中的第一张图片的部分数据,其为一维数组,共有784个数(这个矩阵表达的数好像是3)

然后需要将此一维数组转换为二维矩阵,但时如果就直接进行转换或是转换成二维数组之后也不对数据进行改变的话,保存为图片之后是无法肉眼进行识别的。所以我们要将所有大于0的数改成255.这样就能够肉眼识别了。

如下图

将二维数组改变之后就可以使用opencv进行存储了。

代码如下

from tensorflow.examples.tutorials.mnist import input_data
import cv2 as cv
import numpy
from PIL import Image
import os #引入mnist数据集
mnist = input_data.read_data_sets("MNIST_data/",one_hot=True)#建立保存路径
save_dir = "MNIST_data/save"
if os.path.exists(save_dir) is False:os.mkdir(save_dir)#循环写入图片
for i in range(1):new_image = mnist.train.images[i,:]#print(new_image)#将所有大于0的数更改为255for i in range(len(new_image)):if new_image[i] > 0:new_image[i] =255print(new_image)#new_image = numpy.array(new_image)#更改维度new_image = new_image.reshape(28,28)print(new_image.shape)filename = save_dir + 'mnist_train_%d.jpg' % i#使用pillow写入图片Image.fromarray((new_image*255).astype('uint8'),mode='L').save(filename)#使用opencv写入图片cv.imwrite("2.jpg",new_image)img = cv.imread("2.jpg")

最终的显示结果如下:


推荐阅读
author-avatar
新疆盛苑烟酒特产_485
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有