代码之家  ›  专栏  ›  技术社区  ›  Knowledge Seeker

将图像转换为灰度[关闭]

  •  0
  • Knowledge Seeker  · 技术社区  · 7 年前

    我知道我们可以使用 PIL PILLOW . 我们可以通过导入 Image . 可以使用的一种方法如下所示。

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

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gabriel Faggione    7 年前

    如果您使用枕头查看RGB图像中的数据,您将得到一个具有3个值的turple,如果您在RGBA模式下读取,则会得到4个值的turple。在灰度(L)中,只有1个值。使用Python,您有很多lib可以将RGB转换为L,它们有不同的方式/方法。要将RGB转换为L,需要求RGB的和,并使用许多公式,如

     (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的图像,我不知道,因为我创建了一个使用枕头绘制图像的方法