【问题标题】:Converting image to Greyscale [closed]将图像转换为灰度 [关闭]
【发布时间】:2018-07-26 10:39:03
【问题描述】:

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

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

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

【问题讨论】:

  • 这很大程度上取决于编码
  • @bendl ,但我该怎么做呢?有没有简单的方法来做到这一点?
  • 如果可以获得单个像素数据,则可以将 RGB 值相加
  • @bendl 对不起,我不明白你的意思。
  • 要转换为灰度,您只需要每个像素的亮度即可。亮度只是各个颜色的亮度之和。

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


【解决方案1】:

如果您使用 Pillow 查看来自 RGB 图像的数据,您将得到一个具有 3 个值的 turple,如果您在 RGBA 模式下读取,则为 4 个。在灰度 (L) 中,您只有 1 个值。使用 Python,您有很多库可以将 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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-20
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多