【问题标题】:Converting images to grayscale using Python使用 Python 将图像转换为灰度
【发布时间】:2021-06-06 00:14:25
【问题描述】:

我必须仅使用 4 行将图像从 rgb 比例转换为灰度图像,在“插入代码部分”中,我可以使用 CV 执行此操作,但我通过计算将彩色图像转换为黑白图像RGB 值的平均值。如果平均值接近 255,则将像素设置为白色 (255),否则设置为黑色 (0)。为了转换为灰度图像,原则上必须将像素值设置为 RGB 值的平均值。我应该为每个 RGB 值使用一个加权因子。

import matplotlib.pyplot
import numpy as np

myImage = matplotlib.pyplot.imread('flower.png')

height=myImage.shape[0]
width=myImage.shape[1]


for x in range(0, height-1):
  for y in range(0,width-1):
          #insert code

imgplot = matplotlib.pyplot.imshow(myImage)
matplotlib.pyplot.show()

【问题讨论】:

    标签: python rgb


    【解决方案1】:

    你不需要循环。

    mono = (myImage.mean(2) >= 128) * 255
    

    【讨论】:

      【解决方案2】:

      还有另一种更有效的替代方法:PIL

      您可以使用安装它

      pip install pillow \\ pip3 install pillow
      

      并使用import PIL 导入

      这个包有很多不同的方法将图像转换成黑白,但我建议最简单的方法:

      from PIL import Image
      
      file = "~/Pictures/Test.jpg"
      img = Image.open(file)
      
      img = img.convert("L")
      img.save("~/Pictures/Test-baw.jpg")
      

      如果您对其他方法感兴趣,也可以查看this out ;)

      【讨论】:

        猜你喜欢
        • 2011-04-18
        • 1970-01-01
        • 2021-04-13
        • 1970-01-01
        • 2010-11-20
        相关资源
        最近更新 更多