/ / Ako zmeniť nepriehľadnosť obrázka a zlúčiť sa s iným obrázkom v Python - python, python-imaging-library

Ako zmeniť nepriehľadnosť obrazu a zlúčiť sa s iným obrázkom v Python - python, python-imaging-library

Pozerám sa na to, ako dať dva obrazy dohromady, pričom najvyššie z nich je asi 50% transparentné.

Zatiaľ sa mi to podarilo nájsť:

from PIL import Image

def merge():
background = Image.open("ib.jpg")
background = background .convert("L") #only foreground color matters
foreground = Image.open("if.jpg")

background.paste(foreground, (0, 0), foreground)
background.show()

Vytvára však len prázdny obrázok.

Obidve sú rovnaké veľkosti.

ib.jpg:

ib.jpg

if.jpg:

if.jpg

požadovaný výkon:

tu zadajte popis obrázku

Akékoľvek tipy na spôsob, ako to urobiť buď s RGB alebo RGBA súborom? Mala by som sa zaoberať oboma typmi (niektorí majú v skutočnosti alfa vrstvu).

Vďaka,

odpovede:

4 pre odpoveď č. 1

Musíte použiť blend funkcia od PIL.Image:

from PIL import Image
bg = Image.open("1.jpg")
fg = Image.open("2.jpg")
# set alpha to .7
Image.blend(bg, fg, .7).save("out.png")

tu zadajte popis obrázku