将图像转换为灰度

时间:2018-02-15 15:51:24

标签: python image-processing python-imaging-library rgb grayscale

我知道我们可以使用PILPILLOW将RGB图像转换为灰度。我们可以通过导入Image来完成此操作。可用于执行此操作的一种方法如下。

from PIL import Image img=Image.open('Sample.jpg').convert('LA') img.save('greyscale.png')

我们可以在不使用python包的情况下将RGB图像转换为灰度吗?我想这样学习。任何帮助,我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您使用Pillow从RGB图像查看数据,您将获得3个值的turple,如果您在RGBA模式下读取,则为4。在灰度(L)中,您只有1个值。使用Python,你有很多库可以将RGB转换为L,并且它们有不同的方法/方法。要将RGB转换为L,您需要使用RGB的总和并使用像

这样的manys公式
 (max(R, G, B) + min(R, G, B)) / 2 #lightness method
 (R + G + B) / 3 # average method
 0.21 R + 0.72 G + 0.07 B # luminosity method

但要创建一个没有lib的图像我不知道,因为我创建了一个使用Pillow绘制图像的方法