Python(创建这个黑白图像的负片)

时间:2010-10-25 08:16:52

标签: python image pixel

我正在尝试创建这个黑白图像的负片。白色(255)的反面是黑色(0),反之亦然。与值为100的像素相反的是155。 我不能使用convert,invert,point,eval,lambda。

这是我的代码,但它还没有工作。能不能让我知道哪个部分我错了。

def bw_negative(filename):
    """
    This function creates a black and white negative of a bitmap image
    using the following parameters:
       filename is the name of the bitmap image
    """

    #Create the handle and then create a list of pixels.
    image = Image.open(filename)
    pixels = list(image.getdata())

    pixel[255] = 0
    pixel[0] = 255

    for i in range(255,0):
        for j in range(0,255):
            pixel[i] = j
            print pixels[i]


    image.putdata(pixels)
    image.save ('new.bmp')

1 个答案:

答案 0 :(得分:1)

Python是一种解释型语言,其优势在于您可以使用interactive interpreter-session来尝试。尝试在交互式会话中打开图像文件,然后查看从list(image.getdata())获得的列表。一旦理解了该列表包含的内容,就可以考虑一种反转图像的方法。