2013-02-28 3 views
7

私は、合成画像を作成するためにpython wand(python用のimage-magickバインディング)を使う必要がありますが、フォアグラウンド画像を貼り付けるだけで何かをする方法はわかりません背景画像に変換する。2つの画像をpythonワンドで合成する

foreground

enter image description here

両方のJPEGファイル、私は猫の白い背景を削除してから上に貼り付けたい:私が欲しいのは私のような二つの画像ている与えられた、ありますルーム。 PILのような他のPythonイメージモジュールの解答もうまくいけば、私は構成プロセスを自動化するために何か必要があります。前もって感謝します。

+0

'Pythonの複合image'利回り多くの結果(例えば、いくつかの[PIL機能](のための迅速なGoogle検索http://www.pythonware.com/library/pil/handbook/ image.htm))。あなたの質問が現在立っているように、私はあなたが私たちをどのように援助したいのか分かりません。あなたは何かを試した後、より具体的な質問をすることを検討するかもしれません。 –

+0

ああ、私はすでに '複合'(とPILのメソッド '貼り付け')を試みたことを付け加えるべきですが、どちらの場合も、最初の画像の白い背景を取り除くプロセスを自動化する方法を見つけることができませんでしたそれを第2の画像に貼り付ける。それが私の主な問題です! –

答えて

9

あなたはこの使用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() 
+0

これまで私がやってきたことです。しかし、それは自動的に猫の画像の白い背景を削除する私の問題を解決しません。とにかく答えてくれてありがとう –

1

は、どのようなあなたはおそらくやりたいことやって前に透明に猫の画像で「白」色を変更しています構図。これは、Imageの 'transparent_color()'メソッドを使用して達成できるはずです。何か 'fg_img.transparent_color(wand.color.Color('#FFF '))のようなものです。おそらくはfuzzパラメータもあります。

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

関連する問題