Wand相当于复合 - 立体声

时间:2015-03-03 12:38:28

标签: wand

我想把Wand等同于:

composite -stereo 0 right.tif left.tif output.tif

我认为0是x轴偏移,可能不相关。我已经把其他帖子中的一些零碎的东西汇集在一起​​,结果很好,但它有点啰嗦。这是最好的吗?

#! /usr/bin/python
from wand.image import Image
from wand.color import Color

# overlay left image with red
with Image(filename='picture1.tif') as image:
    with Image(background=Color('red'), width=image.width, height=image.height) as screen:
        image.composite_channel(channel='all_channels', image=screen, operator='multiply')
    image.save(filename='picture1red.tif')

# overlay right image with cyan
with Image(filename='picture2.tif') as image:
    with Image(background=Color('cyan'), width=image.width, height=image.height) as screen:
        image.composite_channel(channel='all_channels', image=screen, operator='multiply')
    image.save(filename='picture2cyan.tif')

# overlay left and right images
with Image(filename='picture1red.tif') as image:
    with Image(filename='picture2cyan.tif') as screen:
        image.composite_channel(channel='all_channels', image=screen, operator='add')
    image.save(filename='3Dpicture.tif')

1 个答案:

答案 0 :(得分:1)

你有正确的方法来创建一个红色(左)和&的新图像。青色(右)通道。但是,multiply上的addall_channels复合运算符不是必需的。如果我们认为cyan = green + blue;我们可以简化你的例子。

with Image(filename='picture1.tif') as left:
    with Image(filename='picture2.tif') as right:
        with Image(width=left.width, height=left.height) as new_image:
            # Copy left image's red channel to new image
            new_image.composite_channel('red', left, 'copy_red', 0, 0)
            # Copy right image's green & blue channel to new image
            new_image.composite_channel('green', right, 'copy_green', 0, 0)
            new_image.composite_channel('blue', right, 'copy_blue', 0, 0)
            new_image.save(filename='3Dpciture.tif'))