Python 混合多个图像,同时保留原始颜色
我想要的是: 我的问题有解决办法吗?原始图像可以是任何东西,只是给出了一个参考图像Python 混合多个图像,同时保留原始颜色,python,python-imaging-library,Python,Python Imaging Library,我想要的是: 我的问题有解决办法吗?原始图像可以是任何东西,只是给出了一个参考图像 还有其他方法可以做到这一点,但这应该是非常通用的,并且适用于其他情况: #!/usr/bin/env python3 from PIL import Image import numpy as np # Load both images and make into Numpy arrays a=np.array(Image.open('A.png').convert('RGBA')) b=np.arra
还有其他方法可以做到这一点,但这应该是非常通用的,并且适用于其他情况:
#!/usr/bin/env python3
from PIL import Image
import numpy as np
# Load both images and make into Numpy arrays
a=np.array(Image.open('A.png').convert('RGBA'))
b=np.array(Image.open('B.png').convert('RGBA'))
# Make masks of all opaque pixels in each image, i.e. alpha>0
mA = a[...,3] > 0
mB = b[...,3] > 0
# Make empty result image
res = np.zeros_like(a)
res[mA] = np.uint8([255,0,255,255]) # make all pixels from A magenta
res[mB] = np.uint8([0,255,255,255]) # make all pixels from B cyan
res[mA & mB] = np.uint8([0,0,255,255]) # make all pixels common to A and B blue
# Save result
Image.fromarray(res).show()
还有其他方法可以做到这一点,但这应该是非常通用的,并且适用于其他情况:
#!/usr/bin/env python3
from PIL import Image
import numpy as np
# Load both images and make into Numpy arrays
a=np.array(Image.open('A.png').convert('RGBA'))
b=np.array(Image.open('B.png').convert('RGBA'))
# Make masks of all opaque pixels in each image, i.e. alpha>0
mA = a[...,3] > 0
mB = b[...,3] > 0
# Make empty result image
res = np.zeros_like(a)
res[mA] = np.uint8([255,0,255,255]) # make all pixels from A magenta
res[mB] = np.uint8([0,255,255,255]) # make all pixels from B cyan
res[mA & mB] = np.uint8([0,0,255,255]) # make all pixels common to A and B blue
# Save result
Image.fromarray(res).show()
您想将A和B混合成C,但您没有给我们A和B。请同时显示您的代码。谢谢。我现在已经添加了,谢谢。图片A和B是一样的。你能纠正一下吗?更新了,很抱歉你想混合A和B来生成C,但你没有给我们A和B。请同时显示你的代码。谢谢。我现在已经添加了,谢谢。图片A和B是一样的。你能纠正一下吗?更新了,很抱歉谢谢你的回答。这正是我想要的汉克斯的答案。这正是我想要的