解决 Clipping input data to the valid range for imshow with RGB data [0..1] for floats or [0..255] for integers
- 1. 问题描述
- 2. 解决方法
1. 问题描述
在使用 python 显示 npz 文件中的图片时,使用如下代码:
import numpy as np
import matplotlib.pyplot as plt
path = "dataset_dog-fish_train-900_test-300.npz"
data = np.load(path)
img_data = data['X_train']
plt.imshow(img_data[301])
plt.show()
出现了下面这个问题
这是因为img_data[301]
数组中的数字取值范围要求是[0,1],实际上取值是[-1,1],所以有如下解决方式。
2. 解决方法
将以上代码改为
import numpy as np
import matplotlib.pyplot as plt
path1 = "dataset_dog-fish_train-900_test-300.npz"
data1 = np.load(path1)
img_data1 = data1['X_train']
print(data1.files)
print((img_data1[301]+1.0)/2.0)
plt.imshow((img_data1[301]+1.0)/2.0)
plt.show()
修改之前图片效果:
修改之后图片效果: