[英]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.