我有两个RGB图像,想找出两者之间的区别。
不同的像素应该是红色,相同的像素应该为灰度。
我试着使用PIL,但无法得到想要的结果。
您正在追求像素访问-https://pillow.readthedocs.io/en/5.2.x/reference/PixelAccess.html#pixelaccess-类。这样可以读取和写入图像中的各个像素。
我推测这两张图片大小相同。我使用了一种将相关像素转换为灰度的简单方法——对R、G、B值进行平均。
from PIL import Image
px1 = im1.load()
px2 = im2.load()
imOut = Image.new('RGB', im1.size)
pxOut = imOut.load()
for x in range(0, im1.width):
for y in range(0, im1.height):
if px1[x, y] == px2[x, y]:
r, g, b = px1[x, y]
grayscale = int((r + g + b) / 3)
pxOut[x, y] = (grayscale, grayscale, grayscale)
else:
pxOut[x, y] = (255, 0, 0)
imOut.show()