2013-02-28 4 views
7

Мне нужно использовать палочку python (привязку к магии изображения для python), чтобы создать составное изображение, но у меня возникли проблемы с выяснением того, как делать что-либо, кроме простого копирования вставки изображения переднего плана в фоновое изображение. То, что я хочу, учитывая У меня есть два изображения, как:Композиция двух изображений с палочкой python

foreground

и

enter image description here

как JPEGs, я хочу, чтобы удалить белый фон кошки, а затем вставить его на комната. Ответы на другие модули изображения python, такие как PIL, также прекрасны, мне просто нужно что-то автоматизировать процесс композиции. Заранее спасибо.

+0

Быстрый поиск Google для 'питон композитных Урожайность image' многих результатов (например, некоторые [функции PIL] (http://www.pythonware.com/library/pil/handbook/ image.htm)). Поскольку ваш вопрос в настоящее время стоит, я не знаю, как вы хотите, чтобы мы помогли. Вы можете подумать о том, чтобы задать более конкретный вопрос после того, как вы что-то пробовали. –

+0

О, да, я должен добавить, что я уже пробовал «составной» (и метод «PIL»), но в обоих случаях я не мог найти способ автоматизировать процесс устранения белого фона первого изображения прежде чем вставить его во второе изображение. это моя главная проблема! –

ответ

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

Для тех, кто наткнуться на это в будущем, что вы, вероятно, хотите сделать, это изменить «белый» цвет в кошачьем изображении прозрачного, прежде чем делать сочинение. Это должно быть осуществимо с использованием метода transparent_color() для Image. Что-то вроде '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

 Смежные вопросы

  • Нет связанных вопросов^_^