因此,我编写了这段小代码,尝试将RGBimge转换为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()
跃然一笑
相关分类