我希望将两个3D numpy数组(RGB图像数组)与由某些算法在灰度图像上生成的2D掩码相加。最好的方法是什么?
以下是我尝试做的示例:
from PIL import Image, ImageChops, ImageOps
import numpy as np
img1=Image.open('./foo.jpg')
img2=Image.open('./bar.jpg')
img1Grey=ImageOps.grayscale(img1)
img2Grey=ImageOps.grayscale(img2)
# Some processing for example:
diff=ImageChops.difference(img1Grey,img2Grey)
mask=np.ma.masked_array(img1,diff>1)
img1Array=np.asarray(im1)
img2Array=np.asarray(im2)
imgResult=img1Array+img2Array[mask]
我在思考:
1) 将RGB图像分解并分别处理每种颜色
2) 将掩模复制到3D数组中
是否有更符合Python习惯的方法可以实现上述功能?
提前致谢!
broadcast_arrays
。直到现在我才知道这是一件事。 - Mad Physicist