0

我正在编写一个将图像转换为棕褐色调的函数,当我尝试运行它时收到此错误消息。最奇怪的是,当我在我正在关注的指南中的 Python Web 解释器 activecode 中运行它时,它确实起作用了;它与我(没有)拥有的图像库有关吗?我正在使用从这里下载的 cImage ,书中提到了一个叫做Pillow的东西,但是当我阅读说明并看到 Mac OSX 安装步骤与我所做的其他所有步骤相比有多么复杂时,它真的让我大吃一惊(虽然当然,如果没有其他方法,我会忍受它并安装它)。请注意,我不确定该指南是否真的使用 Pillow,它只是推荐它。

功能:

def sepiatone(i,newi):
    for col in range(i.getWidth()):
        for row in range(i.getHeight()):
            p = i.getPixel(col,row)

            newred = (p.getRed()*0.393 + p.getGreen()*0.769 + p.getBlue()*0.189)
            newgreen = (p.getRed()*0.349 + p.getGreen()*0.686 + p.getBlue()*0.168)
            newblue = (p.getRed()*0.272 + p.getGreen()*0.534 + p.getBlue()*0.131)

            newred = int(newred)
            newgreen = int(newgreen)
            newblue = int(newblue)

            newpixel = image.Pixel(newred,newgreen,newblue)

            newi.setPixel(col,row,newpixel)

有什么帮助吗?

4

1 回答 1

0

对于有同样问题的人,你所要做的就是..

newpixel = image.Pixel(newred/2,newgreen/2,newblue/2)

这对我有用.. :)

于 2015-03-05T04:42:50.323 回答