gpt4 book ai didi

python - 叠加图像并在每个像素位置显示较亮的像素

转载 作者:行者123 更新时间:2023-12-01 09:01:58 25 4
gpt4 key购买 nike

我有两个黑白图像,我想将它们与最终图像合并,以显示两个图像中每个像素位置的较亮/白色像素。我尝试了以下代码,但它不起作用。

background=Image.open('ABC.jpg').convert("RGBA")
overlay=Image.open('DEF.jpg').convert("RGBA")
background_width=1936
background_height=1863
background_width,background_height = background.size
overlay_resize= overlay.resize((background_width,background_height),Image.ANTIALIAS)
background.paste(overlay_resize, None, overlay_resize)
overlay=background.save("overlay.jpg")
fn=np.maximum(background,overlay)
fn1=PIL.Image.fromarray(fn)
plt.imshow(fnl)
plt.show()

我收到的错误消息是无法处理此数据类型。任何人可以提供的任何帮助或建议都会很棒。

最佳答案

我认为你把事情过于复杂化了。您只需读取两个图像并将它们设为灰度 numpy 数组,然后在每个位置选择两个像素中较亮的一个。

所以从这两张图片开始:

enter image description here enter image description here

#!/usr/local/bin/python3

import numpy as np
from PIL import Image

# Open two input images and convert to greyscale numpy arrays
bg=np.array(Image.open('a.png').convert('L'))
fg=np.array(Image.open('b.png').convert('L'))

# Choose lighter pixel at each location
result=np.maximum(bg,fg)

# Save
Image.fromarray(result).save('result.png')

你会得到这个:

enter image description here

关键字: numpy、Python、图像、图像处理、合成、混合、混合模式、变亮、变亮、Photoshop、等效、变暗、叠加。

关于python - 叠加图像并在每个像素位置显示较亮的像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52395121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com