繁体   English   中英

图像处理:将图像转换为灰度

[英]Image Processing: Converting Image to Grayscale

我是 Python 的新手,在谷歌搜索公式后无法将此图像转换为灰度。 我应用错了吗? 无论我尝试什么,我的图像都会染成绿色。

0.2989 * R + 0.5870 * G + 0.1140 * B

    import image

img= image.Image("luther.jpg")
win= image.ImageWin(img.getWidth(), img.getHeight())
img.draw(win)
img.setDelay(1,100)

for row in range(img.getHeight()):
    for col in range(img.getWidth()):
        p=img.getPixel(col, row)
        newRed= 0.2989*p.getRed()
        newGreen= 0.5870*p.getGreen()
        newBlue= 0.1140*p.getBlue()
        newpixel= image.Pixel(newRed, newGreen, newBlue)
        img.setPixel(col, row, newpixel)
        
img.draw(win)
win.exitonclick()enter code here

图片

好的,我已经想通了。 我试图在没有任何库的情况下解决这个问题,这是我的简单解决方案:

import image

img= image.Image("luther.jpg")
win= image.ImageWin(img.getWidth(), img.getHeight())
img.draw(win)
img.setDelay(1,100)

for row in range(img.getHeight()):
    for col in range(img.getWidth()):
        p=img.getPixel(col, row)
        grayscale= (p.getRed()+ p.getGreen()+ p.getBlue())/3
        newRed= grayscale
        newGreen= grayscale
        newBlue= grayscale
        newpixel= image.Pixel(newRed, newGreen, newBlue)
        img.setPixel(col, row, newpixel)
        
img.draw(win)
win.exitonclick()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM