0

我想写的魔杖相当于:

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')
4

1 回答 1

1

您有正确的方法来创建具有红色(左)和青色(右)通道的新图像。然而,multiplyadd复合运算符 onall_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'))
于 2015-04-13T14:49:33.173 回答