【发布时间】:2010-10-06 05:05:51
【问题描述】:
我正在尝试使用 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(),但这需要一个 alpha。
实现我的目标的最佳方法是什么?
源图片(图片已被删除):
alt text http://www.deadlink.cc/_1.jpg alt text http://www.deadlink.cc/_2.jpg
嗯,好的,我使用添加图像图标添加了源图像,它们会在我编辑帖子时出现,但由于某种原因,这些图像没有出现在帖子中。
(图片已被删除)2013 05 09
【问题讨论】:
标签: python image-processing numpy python-imaging-library