2015-09-09 5 views
2

Я попробовал этот код, чтобы вставить 1 изображение на другое изображениеВставить изображение в Python

from PIL import Image 
img=Image.open("cat.jpg") 
img2=Image.open("cat2.jpg") 

area=(10,50,10,20) 
img.paste(img2,area) 
img.show() 

, но я получаю сообщение об ошибке

Traceback (most recent call last): 
    File "C:/Users/****/PycharmProjects/untitled2/s.py", line 6, in <module> 
    img.paste(img2,area) 
    File "C:\Python34\lib\site-packages\PIL\Image.py", line 1361, in paste 
    self.im.paste(im, box) 
ValueError: images do not match 

почему?

+0

Возможный дубликат [Почему PIL не может объединить 2 изображения в моем коде?] (Http://stackoverflow.com/questions/20297659/why-does-pil-fail-to-merge-2-images-in -my-код) – dhke

ответ

0

Ваш код не работает, потому что размер области, которую вы даете, похоже, не соответствует размеру изображения. Вы можете получить размер изображения, используя:

(width, height) = img2.size 

Тогда вы можете сопоставить размер вашей области с изображением.

+0

ONE LASE ПОЖАЛУЙСТА от PIL импорта изображения IMG = Image.open ("cat.jpg") флип = img.transpose (img.FLIP_LEFT_RIGHT) flip.show() ДАЙТЕ ERROR Traceback (последний последний звонок): Файл «C:/Users/***/PycharmProjects/untitled2/s.py», строка 3, в flip = img.transpose (img.FLIP_LEFT_RIGHT) Файл «C: \ Python34 \ lib \ site-packages \ PIL \ Image.py ", строка 632, в __getattr__ raise AttributeError (name) AttributeError: FLIP_LEFT_RIGHT ПОЧЕМУ? – dani1999

+0

Попробуйте изменить его от img.FLIP_LEFT_RIGHT к Image.FLIP_LEFT_RIGHT – Dencrash

+0

как от PIL импорта изображения IMG = Image.open ("cat.jpg") флип = Image.transpose (img.FLIP_LEFT_RIGHT) flip.show() , которые дают мне ошибки Traceback (самый последний вызов последнего): Файл "C:/Users/****/PycharmProjects/untitled2/s.py", линия 3, в флип = Image.transpose (IMG .FLIP_LEFT_RIGHT) AttributeError: объект 'module' не имеет атрибута 'transpose' – dani1999

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