遍历2个图像的所有像素,并用白色替换黑色像素

时间:2016-09-20 01:24:42

标签: python image

我有两个同位图像,两者都以类似的方式创建,两者的大小都是7,221 x 119像素。

我想遍历两个图像的所有像素。如果第一张图像上的像素为黑色,而第二张图像上的像素为黑色,则将其变为白色,否则无变化。

我怎样才能用python做到这一点?

2 个答案:

答案 0 :(得分:0)

我建议使用Pillow库(https://python-pillow.org/),它是PIL库的一个分支。

以下是Pillow文档中的内容:http://pillow.readthedocs.io/en/3.1.x/reference/PixelAccess.html

还有一些可能对您有所帮助的Stackoverflow问题:

Is it possible to change the color of one individual pixel in Python?

Changing pixel color Python

我想你只需要打开两个图像,遍历每个像素的rach图像,比较像素,比较像素,然后在必要时替换。

答案 1 :(得分:0)

这应该与你正在寻找的东西非常接近。

from PIL import Image
from PIL import ImageFilter

im            = Image.open('a.png')
imb           = Image.open('b.png')
pix           = im.load()
width, height = im.size
for w in xrange(width):
    for h in xrange(height):
        r,g,b,a = pix[(w,h)]
        rb, gb, bb, ab = pix[(w,h)]
        if not (r+g+b+rb+gb+bb): #all values 0
            pix[w,h] = (255,255,255,255)
im.save('test','BMP')