从 fashion_MNIST 数据中打印图像会得到彩色图像?
Printing image from fashion_MNIST data gives colored image?
众所周知的 fashion_MNIST 深度 leanring/computer 视觉数据集是 灰度图像的集合 [https://github.com/zalandoresearch/fashion-mnist].
keras 已提供此数据集[https://keras.io/datasets]。
但是,当我在 Tensorflow Keras 中加载数据集时 API 并尝试打印一些图像。我得到 彩色图像 。我想知道为什么?
谁能解释一下。这是我的代码:
import tensorflow as tf
mnist = tf.keras.datasets.fashion_mnist
(training_images, training_labels), (test_images, test_labels) = mnist.load_data()
import matplotlib.pyplot as plt
plt.imshow(training_images[0])
#print(training_labels[0])
#print(training_images[0])
您必须设置色图。
plt.imshow(IMG, cmap='gray')
它的发生是因为 matplotlib 的 imshow() 方法。
默认情况下,它使用 rcParams["image.cmap"] 到 'viridis' 因此我们得到了彩色图像。你可以在这里看到https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.imshow.html。
您还可以通过 运行 此代码在终端中检查这些参数:
import matplotlib.pyplot as plt
print(plt.rcParams)
如果我们将它设置为"Greys"那么我们将得到灰度图像。您可以通过 运行 此代码进行设置:
plt.rcParams['image.cmap'] = 'Greys'
您可以在此处阅读有关 'viridis' 的更多信息:https://matplotlib.org/3.1.1/tutorials/colors/colormaps.html
众所周知的 fashion_MNIST 深度 leanring/computer 视觉数据集是 灰度图像的集合 [https://github.com/zalandoresearch/fashion-mnist].
keras 已提供此数据集[https://keras.io/datasets]。
但是,当我在 Tensorflow Keras 中加载数据集时 API 并尝试打印一些图像。我得到 彩色图像 。我想知道为什么? 谁能解释一下。这是我的代码:
import tensorflow as tf
mnist = tf.keras.datasets.fashion_mnist
(training_images, training_labels), (test_images, test_labels) = mnist.load_data()
import matplotlib.pyplot as plt
plt.imshow(training_images[0])
#print(training_labels[0])
#print(training_images[0])
您必须设置色图。
plt.imshow(IMG, cmap='gray')
它的发生是因为 matplotlib 的 imshow() 方法。 默认情况下,它使用 rcParams["image.cmap"] 到 'viridis' 因此我们得到了彩色图像。你可以在这里看到https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.imshow.html。 您还可以通过 运行 此代码在终端中检查这些参数:
import matplotlib.pyplot as plt
print(plt.rcParams)
如果我们将它设置为"Greys"那么我们将得到灰度图像。您可以通过 运行 此代码进行设置:
plt.rcParams['image.cmap'] = 'Greys'
您可以在此处阅读有关 'viridis' 的更多信息:https://matplotlib.org/3.1.1/tutorials/colors/colormaps.html