图像转换和重新创建可得出神秘的结果

时间:2018-07-25 16:44:21

标签: python python-3.x image numpy image-processing

因此,我编写了这段小代码,试图将RGB的图像转换为从接受的answer中提取的Grayscale。问题是,即使我只是重新创建原始图像,它也显示与原始图像不相似的神秘图像。您认为问题是什么,我们应该如何解决?另外,我还要根据给定数组Grayscale将其转换为b

这是我的代码:

import matplotlib.image as img
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

a = img.imread('hCeFA.png')

a = a * 255         #Matplotlib gives float values between 0-1

b = a * np.array([0.3, 0.59, 0.11])
b = np.sum(b, axis = 2) / 3           #Grayscale conversion

img1 = Image.fromarray(a, 'RGB')
img1.save('my.png')
img1.show()                     #Gives a cryptic image

plt.imshow(a/255, interpolation='nearest')     #Works fine
plt.show()

1 个答案:

答案 0 :(得分:1)

更好地读取带有“ I”的图像。 喜欢 imread('imageName.imgFormat',"I") 这样可以解决问题。它会读取uint8格式的图像,我想您会这样。