matplotlib 无法在Google Colab中使用plt显示来自CIFAR-10数据集的图像

yc0p9oo0  于 2023-03-23  发布在  Go
关注(0)|答案(1)|浏览(155)

我试图显示CIFAR-10数据集的图像部分,但由于某种原因,plt显示了一个轴图像,而不是我想看到的实际图像。

from os import lseek
from cs231n.data_utils import load_CIFAR10
import matplotlib.pyplot as plt

Xtr, Ytr, Xte, Yte = load_CIFAR10('cs231n/datasets/cifar-10-batches-py')
# print(Xtr[0].shape) Shape is (32, 32, 3) RGB image.
plt.imshow(Xtr[0])

在文档中它说(M, N, 3)的形状对于RGB图像是可以的,所以我不知道为什么它不显示它。有什么想法吗?

jvlzgdj9

jvlzgdj91#

正如注解中所讨论的,这个问题是由于Xtr[0]变量中值的数据类型引起的。(M,N,3)数组,即Xtr[0]imshow函数要求该数组要么是包含0到1之间的值的浮点数组,要么是包含0到255之间的值的整数数组。在这种情况下,Xtr[0]是一个浮点数组,其值在0到255之间,imshow不喜欢这样。最简单的解决方案是将此数组作为整数传递给imshow,例如,

plt.imshow(Xtr[0].astype(int))

相关问题