2013-02-28 5 views
7

के साथ दो छवियों को कंपोजिट करना मुझे एक समग्र छवि बनाने के लिए पाइथन वंड (पायथन के लिए छवि-मैजिक बाइंडिंग) का उपयोग करने की आवश्यकता है, लेकिन मुझे कुछ परेशानी हो रही है कि बस अग्रभूमि छवि चिपकाने के अलावा कुछ भी कैसे करें पृष्ठभूमि छवि में। क्या मैं चाहता हूँ, है दिया मैं की तरह दो छवियों है:पाइथन वंड

foreground

और

enter image description here

दोनों jpegs, मैं बिल्ली के सफेद पृष्ठभूमि निकालें और फिर पर पेस्ट करना चाहते हैं कक्ष। अन्य पाइथन छवि मॉड्यूल के लिए उत्तर, जैसे कि पीआईएल, भी ठीक हैं, मुझे बस संरचना प्रक्रिया को स्वचालित करने के लिए कुछ चाहिए। अग्रिम में धन्यवाद।

+0

'अजगर समग्र image' पैदावार कई परिणामों के लिए एक त्वरित गूगल खोज (जैसे कुछ [जनहित याचिका कार्यों] (http://www.pythonware.com/library/pil/handbook/ image.htm))। जैसा कि आपका प्रश्न वर्तमान में खड़ा है, मुझे नहीं पता कि आप हमें कैसे मदद करना चाहते हैं। कुछ कोशिश करने के बाद आप एक और विशिष्ट सवाल पूछने पर विचार कर सकते हैं। –

+0

ओह, हाँ, मुझे यह जोड़ना चाहिए कि मैंने पहले ही 'समग्र' (और पीआईएल की विधि 'पेस्ट') की कोशिश की है, लेकिन दोनों मामलों में, मुझे पहली छवि की सफेद पृष्ठभूमि को समाप्त करने की प्रक्रिया को स्वचालित करने का कोई तरीका नहीं मिला इसे दूसरी छवि में चिपकाने से पहले। यह मेरी मुख्य समस्या है! –

उत्तर

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

उन है कि भविष्य में इस को भूल गए हैं, तो क्या आप शायद क्या करना चाहते करने से पहले पारदर्शी करने के लिए बिल्ली की छवि में 'सफेद' रंग बदल रहा है रचना। यह छवि के 'पारदर्शी_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