2011-04-19 12 views
7

हे, दोस्तों के साथ दूसरे में पेस्ट करें। शायद इसे दस लाख बार पूछा गया है, लेकिन मुझे यहां थोड़ी परेशानी हो रही है। पीआईएल के साथ, मैं एक आयत से आयत की प्रतिलिपि बनाने की कोशिश कर रहा हूं, और इसे दूसरे में पेस्ट कर रहा हूं। यह मेरा कोड है।एक छवि से कैसे फसल करें और पीआईएल

ValueError: images do not match

आप में से किसी के लिए इस के लिए एक ठीक पता है:

import Image 
ii = Image.open("ramza.png") 
box = (70, 70, 30, 30) 
region = ii.crop(box) 
io = Image.open("template.png") 
io.paste(region, box) 
io.save("output.png") 

और मैं इस त्रुटि मिल रही है? (left, upper, right, lower):

उत्तर

11

एक जनहित याचिका फसल बॉक्स के रूप में पिक्सेल की एक 4 टपल निर्देशांक परिभाषित किया गया है।

box = (70, 70, 100, 100) 

घटकों में नीचे टूटी:

x, y, w, h = (70, 70, 30, 30) 
box = (x, y, x + w, y + h) 
+0

यह चाल है! धन्यवाद। – Nick

2

भविष्य आगंतुकों के लिए:

एक 30x30 फसल पाने के लिए अपने कोड को ठीक करने के लिए इस त्रुटि भी आ सकती है यदि paste को box तर्क होता है float एस int एस के बजाय।

+0

धन्यवाद, यह असफल असफलता है - अंतःविषय गलती! अधिकांश समय 'पेस्ट' फ्लोट के साथ ठीक काम करता है, लेकिन कभी-कभी यह नहीं होता .. – fraxel

संबंधित मुद्दे