Miért fontos?
Számos alacsony szintű képfeldolgozó művelet szürkeárnyalatos intenzitásképeken kerül definiálásra. Szürkeárnyalatos fotók esetén leggyakrabban a [0, 255] intenzitástartomány használt. A 0 érték jelenti a fekete, a 255 a fehér színt. A köztes értékek a feketéből fehérbe tartó szürke átmenetet jelentik.
A fotóink, képeink rendszerint színesek, ezeket át kell alakítanunk szürkeárnyalatosra a fent említett műveletek végrehajtása előtt. Az OpenCV többféle lehetőséget is biztosít erre.
Az egyik megoldás, hogy már a kép betöltését szürkeárnyalatosként kérjük az IMREAD_GRAYSCALE értékkel. Az imread() függvény második paramétere ezt szabályozza.
IMREAD_UNCHANGED | A képmátrix típusát a fájl tartalma határozza meg. A színes képek 3 csatornás BGR mátrixként, a szürkekárnyalatosak 1 csatornás szürkeárnyalatos képként kerülnek beolvasásra. |
IMREAD_GRAYSCALE | A beolvasott képmátrix 1 csatornás szürke lesz. |
IMREAD_COLOR | A beolvasott képmátrix 3 csatornás BGR mátrix lesz. Ha szürkeárnyalatos a bement, akkor mindhárom csatornára a beolvasott szürkeárnyalatos értékek kerülnek beállításra. |
A másik lehetőség a cvtColor() függvény használata, ami számos színtér reprezentáció közötti átalakítást képes elvégezni. Ennek részleteit a következő oldalon tárgyaljuk.