使用pilimages混合两个图像

时间:2014-05-07 19:38:14

标签: python python-2.7 python-3.x

我正在尝试使用功能内部的pilimages,图像1的.6和图像4的.4来混合两个图像。我在网上到处看都找不到帮助。

这是我到目前为止所提出的:

import pilimages

def blend(pic1, pic2):
    new_img = pilimages.Image(pic1.getWidth(), pic1.getHeight())
for y in range(0, pic1.getHeight()):
    for x in range(0, pic1.getWidth()):

return new_img

在这里我停下来。

任何帮助?

2 个答案:

答案 0 :(得分:0)

尝试使用PIL Image模块 - 而不是pilimages:

PIL文档here

答案 1 :(得分:0)

我们花了一些时间寻找documentation for pilimages - 对此并不多。

当您没有要与之竞争的Alpha值时,基本的混合操作非常简单:

def blend_pixel(pix1, pix2, part1=0.5):
    part2 = 1.0 - part1
    return tuple(int(p1 * part1 + p2 * part2) for p1,p2 in zip(pix1, pix2))

现在只需将其应用于每个像素:

new_img.setPixel(x, y, blend_pixel(pic1.getPixel(x, y), pic2.getPixel(x, y), 0.6))