Képek súlyozott összeadásakor a képmátrixhoz adott, úgynevezett alfa csatorna segítségével képpontonként szabályozhatjuk az elegyítési súlyokat, a színek átlátszóságát. A 0 érték jelenti a teljesen átlátszót, a 255 pedig a teljesen átlátszatlant. A köztes értékek esetén megfelelő súlyozással összeadjuk a két kép adott pontban található értékeit. A PNG képformátum biztosítja az ilyen 4 csatornás képek tárolását.
Fontos, hogy 4 csatornás PNG kép beolvasásakor adjuk meg a cv2.IMREAD_UNCHANGED paramétert a cv2.imread() függvénynek! Ekkor a szokásos BGR értékek mellett a negyedik (3-as indexű) lesz az átlátszósági érték.
A súlyok számítását az alábbi példán mutatjuk be. Tegyük fel, hogy a két elegyítendő képpont a [B1, G1, R1, A1] és a [B2, G2, R2].
W1 = A1 / 255.0
W2 = 1.0 - W1
B = B1 * W1 + B2 * W2
G = G1 * W1 + G2 * W2
R = R1 * W1 + R2 * W2
Menjünk végig a képmátrix minden pontján, és végezzük el a fenti számítások alapján az elegyítést! Látható, hogy ezzel a megközelítéssel a második képpont alfa csatorna információját nem használjuk fel.
Hasonló algoritmust hajtanak végre a böngészőmotorok, amikor egy nem konstans színű háttéren átlátszósági értékkel rendelkező képet jelenítenek meg a HTML oldalon.
Alfa csatornával rendelkező képeket találhatunk például a https://www.transparenttextures.com/ oldalon, vagy készíthetünk magunk is fejlettebb képmanipulátor programokkal, mint ameilyen például a PhotoShop vagy a GIMP.
Megjegyezzük, hogy ez a feladat nagyon hasonló a személy körüli háttér lecserélésénél látottra. Itt a maszk kép nem külön kerül tárolásra, hanem az előtérkép negyedik csatornájaként.