【问题标题】:Compositing two images with python wand用 python wand 合成两个图像
【发布时间】:2014-10-13 11:28:58
【问题描述】:

我需要使用 python wand(python 的图像魔术绑定)来创建合成图像,但是除了简单地将前景图像复制粘贴到背景图像中之外,我在弄清楚如何做任何事情时遇到了一些麻烦。我想要的是,因为我有两张图片,例如:

两个jpeg,我想把猫的白色背景去掉,然后贴到房间里。其他 python 图像模块的答案,比如 PIL,也很好,我只需要一些东西来自动化合成过程。提前致谢。

【问题讨论】:

  • 在谷歌上快速搜索python composite image 会产生很多结果(例如一些PIL functions)。就您目前的问题而言,我不知道您希望我们如何提供帮助。在你尝试过之后,你可以考虑问一个更具体的问题。
  • 哦,是的,我应该补充一点,我已经尝试过“复合”(以及 PIL 的“粘贴”方法),但在这两种情况下,我都找不到自动化消除过程的方法在将第一张图像粘贴到第二张图像之前,将其白色背景。这是我的主要问题!

标签: python imagemagick composition magickwand wand


【解决方案1】:

您可以使用Image.composite() 方法实现此目的:

import urllib2

from wand.image import Image
from wand.display import display


fg_url = 'http://i.stack.imgur.com/Mz9y0.jpg'
bg_url = 'http://i.stack.imgur.com/TAcBA.jpg'

bg = urllib2.urlopen(bg_url)
with Image(file=bg) as bg_img:
    fg = urllib2.urlopen(fg_url)
    with Image(file=fg) as fg_img:
        bg_img.composite(fg_img, left=100, top=100)
    fg.close()
    display(bg_img)
bg.close()

【讨论】:

  • 这就是我到现在为止一直在做的事情。但这并不能解决我自动消除猫图像白色背景的问题。无论如何感谢您的回答
【解决方案2】:

对于那些将来偶然发现这一点的人,您可能想要做的是在进行构图之前将猫图像中的“白色”颜色更改为透明。这应该可以使用 Image 的 'transparent_color()' 方法来实现。 'fg_img.transparent_color(wand.color.Color('#FFF')) 之类的东西,可能还带有模糊参数。

见: http://www.imagemagick.org/Usage/compose/ http://docs.wand-py.org/en/latest/wand/image.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 2012-01-17
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多