时间:2021-05-22
图像文件是自己仿照mnist格式制作,每张图像大小为128*128
import structimport matplotlib.pyplot as pltimport numpy as np#读入整个训练数据集图像filename = 'train-images-idx3-ubyte'binfile = open(filename, 'rb')buf = binfile.read()#读取头四个32bit的intergerindex = 0magic, numImages, numRows, numColumns = struct.unpack_from('>IIII', buf, index)index += struct.calcsize('>IIII')#读取一个图片,16384=128*128im = struct.unpack_from('>16384B', buf, index)index += struct.calcsize('>16384B')im=np.array(im)im=im.reshape(128,128)fig = plt.figure()plotwindow = fig.add_subplot(111)plt.imshow(im, cmap = 'gray')plt.show()补充知识:Python 图片转数组,二进制互转
前言
需要导入以下包,没有的通过pip安装
import matplotlib.pyplot as pltimport cv2from PIL import Imagefrom io import BytesIOimport numpy as np1.图片和数组互转
# 图片转numpy数组img_path = "images/1.jpg"img_data = cv2.imread(img_path)# numpy数组转图片img_data = np.linspace(0,255,100*100*3).reshape(100,100,-1).astype(np.uint8)cv2.imwrite("img.jpg",img_data) # 在当前目录下会生成一张img.jpg的图片2.图片和二进制格式互转
# 以 二进制方式 进行图片读取with open("img.jpg","rb") as f: img_bin = f.read() # 内容读取# 将 图片的二进制内容 转成 真实图片with open("img.jpg","wb") as f: f.write(img_bin) # img_bin里面保存着 以二进制方式读取的图片内容,当前目录会生成一张img.jpg的图片3.数组 和 图片二进制数据互转
或许还有别的方式也能实现 图片二进制数据 和 数组的转换,不足之处希望大家指出
以上这篇Python读入mnist二进制图像文件并显示实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python读取二进制mnist实例详解trainingdata数据结构:[offset][type][value][description]000032bit
在学习tensorflow的过程中,有一个问题,tensorflow在训练的过程中读取的是二进制图像数据库文件,而不是图像文件,因此在进行训练、测试之前需要将图
1.将图片以二进制存入数据库2.读取二进制图片在页面显示3.设置Image控件显示从数据库中读出的二进制图片4.GridView中ImageField以URL方
Python使用struct处理二进制的实例详解有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的st
目标:目标文件为一个float32型存储的二进制文件,按列优先方式存储。本文使用Python读取该二进制文件并使用matplotlib.pyplot相关工具画出