如何使用keras加载图像并显示图像?

use*_*517 14 python numpy matplotlib keras tensorflow

%matplotlib inline
from keras.preprocessing import image

import matplotlib.pyplot as plt
import numpy as np
img = np.random.rand(224,224,3)
plt.imshow(img)
plt.show()

img_path = "image.jpeg"
img = image.load_img(img_path, target_size=(224, 224))
print(type(img))

x = image.img_to_array(img)
print(type(x))
print(x.shape)
plt.imshow(x)
Run Code Online (Sandbox Code Playgroud)

我有一些这样的代码应该打印图像.但它在错误的频道中显示图像.我在这里失踪了什么?

vij*_*y m 10

这是图像缩放问题.imshow()的输入要求它在0-1范围内,而你传递的是[0-255]范围输入.尝试将其视为:

plt.imshow(x/255.)
Run Code Online (Sandbox Code Playgroud)

  • 我会指出这仅适用于 RGB 图像。`plt.imshow` 默认自动缩放到给定数据的范围,否则可以由 `vmin` 和 `vmax` 参数控制。 (2认同)