我正在使用Keras ImageGenerator处理一些图像(jpegs)。为了调试,我在处理循环期间显示一些图像:
from keras.preprocessing.image import ImageDataGenerator
import matplotlib.pyplot as plt
datagen = ImageDataGenerator(**datagen_args)
X = np.zeros(4, 224, 224, 3)) # pralloc matrix for storing the images
for i in range(4):
img_path = repo + fnam[i]
image = plt.imread(img_path)
plt.imshow(image) # image looks correct
plt.show()
trans_img = datagen.random_transform(image) # keras ImageGenerator
plt.imshow(trans_img) # image looks correct
plt.show()
X[i, :, :, :] = trans_img
请注意,ImageGenerator不会应用任何色偏。完成后,我从X中选择一个图像并显示它:
im1 = X[0, :, :, :]
print(im1.shape) [224, 224, 3]
plt.imshow(im1)
plt.show()
生成的图像有一个奇怪的蓝色偏色。我已经尝试了各种其他方法来加载和显示图像,但它们都有蓝色投射。
任何帮助表示赞赏。谢谢。
更新:这样可以使用正确的colourmap显示图像:
from scipy.misc import toimage
toimage(im1).show()
如果有人能解释原因,我将非常感激。谢谢。
答案 0 :(得分:-1)
来自scipy.misc import toimage
toimage(IM1).show()