将图片保存为cifar-10类似的格式
2017-07-26 06:22
417 查看
# -*- coding:utf-8 -*- import pickle,pprint from PIL import Image import numpy as np import os import matplotlib.image as plimg class DictSave(object): def __init__(self,filenames): self.filenames = filenames self.arr = [] self.all_arr = [] print def image_input(self,filenames): for filename in filenames: self.arr = self.read_file(filename) if self.all_arr==[]: self.all_arr = self.arr else: self.all_arr = np.concatenate((self.all_arr,self.arr)) def read_file(self,filename): im = Image.open(filename)#打开一个图像 # 将图像的RGB分离 r, g, b = im.split() # 将PILLOW图像转成数组 r_arr = plimg.pil_to_array(r) g_arr = plimg.pil_to_array(g) b_arr = plimg.pil_to_array(b) # 将60*180二维数组转成1024的一维数组 r_arr1 = r_arr.reshape(10800) g_arr1 = g_arr.reshape(10800) b_arr1 = b_arr.reshape(10800) # 3个一维数组合并成一个一维数组,大小为32400 arr = np.concatenate((r_arr1, g_arr1, b_arr1)) return arr def pickle_save(self,arr): print ("正在存储") # 构造字典,所有的图像数据都在arr数组里,这里只存图像数据,没有存label contact = {'data': arr} f = open('contact', 'wb') pickle.dump(contact, f)#把字典存到文本中去 f.close() print ("存储完毕") if __name__ == "__main__": filenames = [os.path.join("%d.png" % i) for i in range(0, 100)] #100个图像 ds = DictSave(filenames) ds.image_input(ds.filenames) ds.pickle_save(ds.all_arr) print ("最终数组的大小:"+str(ds.all_arr.shape))
相关文章推荐
- 【深度学习】针对CIFAR-10模型所写的进行图片size,图片名,后缀图片格式写的预处理程序
- word 文档的保存数据及读取,类似图片,数据库设置图片格式(image)
- 图片的保存格式
- makedown 格式的图片保存在云端的方法
- vb 保存图片格式
- Excel2007如何将编辑好的表格以图片的格式保存且想怎么移就怎么移
- C#在Unity中保存一张.png格式的图片
- 如何保存几何画板文件为图片格式
- wpf 保存控件中的内容为图片格式
- PS切片时,如何选择图片保存格式
- VC中实现截屏并保存为.bmp格式的图片
- c#图片旋转,保存图片的时候一定要选择图片保存的格式
- 利用Python PIL、cPickle将图片读取和保存为pkl格式文件
- 利用ffmpeg截取视频图像并保存为ppm和jpg图片格式
- 用Python3.x解析CIFAR-10数据集图片
- 仿照CIFAR-10数据集格式,制作自己的数据集
- canvas.toDataUrl 画布导出功能(将canvas画板保存为图片格式)!
- android 截屏并将其保存成jpeg图片格式
- ffmpeg将多媒体文件的Video Stream每帧画面保存为PPM格式图片
- android图像绘制(五)画布保存为指定格式/大小的图片