Я пытаюсь добавить два изображения вместе с помощью NumPy и PIL. То, как я сделаю это в MATLAB, будет примерно таким:
>> M1 = imread('_1.jpg');
>> M2 = imread('_2.jpg');
>> resM = M1 + M2;
>> imwrite(resM, 'res.jpg');
Я получаю что-то вроде этого:
alt text http://www.deadlink.cc/matlab.jpg
Используя программу компоновки и добавление изображений, результат MATLAB кажется правильным.
В Python я пытаюсь сделать то же самое вот так:
from PIL import Image
from numpy import *
im1 = Image.open('/Users/rem7/Desktop/_1.jpg')
im2 = Image.open('/Users/rem7/Desktop/_2.jpg')
im1arr = asarray(im1)
im2arr = asarray(im2)
addition = im1arr + im2arr
resultImage = Image.fromarray(addition)
resultImage.save('/Users/rem7/Desktop/a.jpg')
и я получаю что-то вроде этого:
alt text http://www.deadlink.cc/python.jpg
Почему я получаю все эти фанковые цвета? Я также попытался использовать ImageMath.eval("a+b", a=im1, b=im2)
, но я получаю сообщение об ошибке RGB без поддержки.
Я также видел, что существует Image.blend()
, но для этого требуется альфа.
Какой лучший способ достичь того, что я ищу?
Исходные изображения (изображения удалены):
alt text http://www.deadlink.cc/_1.jpg alt text http://www.deadlink.cc/_2.jpg
Humm, хорошо, я добавил исходные изображения, используя значок добавления изображения, и они появляются, когда я редактирую сообщение, но почему-то изображения не отображаются в сообщении.
(изображения были удалены) 2013 05 09