Működése
A színtelítettség (szaturáció) állításával szabályozhatjuk, hogy a kromatikus (szín) információk milyen súllyal jelenjenek meg a képen. Ha százalékos értékekkel fejezzük ki, akkor 0%-os telítettség a szürkeárnyalatos változatot, míg a 100%-os az eredeti színes BGR reprezentációt jelenti. Ezen értékek között a kialakuló szín a szürkéből fokozatosan a színesbe megy át, vagyis kifakultabb képi hatást érhetünk el. Ilyen lineáris átmenetet a képek súlyozott összeadásával érhetünk el, amellyel az előző fejezetben foglalkoztunk.
Az összegzési súlyt 100% felettire állítva erősíthetjük a színek telítettségét. Technikailag ez azt jelenti, hogy az 1.0-nál nagyobb w súlyértékkel megszorzott színes képből kivonjuk az (1 - w) súllyal vett szürkeárnyalatos információt. (Megjegyezzük, hogy az (1 - w) súly ekkor negatív lesz, vagyis igazából most is összegzésről van szó.)
Vegyük észre, hogy amennyiben szürkeárnyalatos a bemenet, akkor bármilyen súllyal vett színtelítettség továbbra is szürke eredményt fog adni, vagyis ez önmagában nem fog színinformációt a képhez adni.
Az aritmetikai művelet elvégzéséhez szükséges, hogy a színes mellett a szürkeárnyalatos kép is BGR reprezentációban legyen. A lépések:
- Eredeti színes kép beolvasása (img_color_bgr).
- Szürkeárnyalatos átalakítása (img_gray).
- A szürkeárnyalatos visszaalakítása BGR szürkébe (img_gray_bgr).
- w súlyérték beállítása.
- img_sat_bgr = w * img_color_bgr + (1 - w) * img_gray_bgr
Figyeljünk arra, hogy a súlyozott összeadáskor az alul- és túlcsordulás megfelelően legyen kezelve! (Pl. Numpy aritmetika helyett OpenCV függvényeket használjunk.)