python - 如何打开从 MNIST 数据库中提取的图像
问题描述
基本上,我正在尝试从 MNIST 数据集中获取图像,然后将其显示在我的计算机上。问题是,当我尝试打开单个图像(使用枕头 Image.open() 函数)时,它说它无法“读取”它。我不知道这是一个不起作用的事情还是全部。真的,我只是在玩新东西。
我尝试使用'tensorflow.examples.tutorials.mnist',但它一直在搞砸,我不知道为什么。然后我决定我应该只下载 MNIST 数据并打开它,现在它说它不能“读取”“numpy.ndarray”。
from PIL import Image
from tensorflow.contrib.learn.python.learn.datasets.mnist import extract_images, extract_labels
with open('train-images-idx3-ubyte (2).gz', 'rb') as f:
train_images = extract_images(f)
with open('train-labels-idx1-ubyte (1).gz', 'rb') as f:
train_labels = extract_labels(f)
with open('t10k-images-idx3-ubyte.gz', 'rb') as f:
test_images = extract_images(f)
with open('t10k-labels-idx1-ubyte.gz', 'rb') as f:
test_labels = extract_labels(f)
myImage = Image.open(train_images[0])
myImage.show()
我希望它会打开文件,但它只是显示有关打开的错误train_images[0]
解决方案
没关系,我找到了答案。
您需要做的是使用更改数据的形状,np.reshape()
然后使用Image.fromarray()
而不是Image.open()
. 例如:
MyImage = train_images[0]
MyImage = MyImage.reshape(28, 28)
MyImage = Image.fromarray(MyImage)
推荐阅读
- html - How do I modify my host file so I can access my web page through a host name?
- java - short -> int -> long 类型提升:是否有任何开销?
- artifactory - Artifactory PostgreSQL 数据库中没有行
- html - 如何使用模型将数据添加到表中 - HTML
- angular - 从 nb-select 中获取选定的文本
- python - 用于真实数据的 python mathplotlib
- python - 发生异常:配置不当
- python - 在更改下拉列表中的选项时从 URL 未更改的站点中抓取数据
- r - 在 Shiny 中选择选项时删除滑块
- node.js - 使用单独的身份验证服务器时如何以编程方式刷新访问令牌 (JWT)?