繁体   English   中英

Python plt.imshow()图像中的奇怪颜色偏色

[英]Strange colour cast in Python plt.imshow() image

我正在使用Keras ImageGenerator处理一些图像(jpeg)。 为了调试,我在处理循环中显示了一些图像:

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()

结果图像具有奇怪的蓝色偏色 我尝试了各种其他方式来加载和显示图像,但是它们都具有蓝色。

任何帮助表示赞赏。 谢谢。


更新:这有效并显示具有正确色彩图的图像:

from scipy.misc import toimage
toimage(im1).show()

如果有人可以解释原因,我将不胜感激。 谢谢。

从scipy.misc导入到图像

toimage(im1).show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM