GIMP-trükkök XII. – Saját szűrők
A GIMP-ben találunk egy érdekes szűrőt, a Konvolúciós mátrixot. Egy mátrixot kell megadni neki, meg néhány paramétert, amelyek hatására történik valami a képpel. De vajon mit is csinál ez a szűrő?
A képfeldolgozásban elterjedt eljárás a konvolúciós szűrés. A képfeldolgozó szoftverek sok beépített szűrője ezen az elven működik anélkül, hogy a felhasználó erről bármit sejtene. Egyes programok lehetővé teszik, hogy a felhasználó saját maga adjon meg egy konvolúciós szűrőt. A GIMP-ben a Szűrők › Általános › Konvolúciós mátrix menüpont alatt találjuk ezt a lehetőséget, a Photoshopban a Custom Filter › Other › Custom menüpontnál.
A Konvolúciós mátrix szűrő panelje
A konvolúciós szűrők általában a kép pixeleinek egy kis halmazával dolgoznak egyszerre. A szűrést egy mátrix alapján végzik, ami tipikusan páratlan számú sorokból és oszlopokból áll, ez a konvolúciós kernel. A kernelt úgy használjuk a szűrés során, hogy „végigfuttatjuk” a képen. A kép minden egyes pixele egyszer a kernel közepe alá kerül. Ennek a pixelnek az új értéke saját maga, és a kernel alatti szomszédos pixelek értékeinek a kernel együtthatóival súlyozott átlaga lesz.

A kernel végighalad a képen. Minden képpontnál, ami fölött a kernel közepe áll, a kernel alá eső képrészletből számítjuk ki az új képpont értékét
A GIMP szűrőjének paneljén a középső részen lehet megadni a kernel együtthatóit. A kernel hatására a kép átlagos világossága megváltozhat. Ezt lehet ellensúlyozni az osztóval. A számítás negatív értékeket is eredményezhet, ami az Eltolással kompenzálható úgy, hogy egy alap szürkét adunk a képhez. A normalizálás opciót bekapcsolva az Osztó és az Eltolás értékét a program határozza meg automatikusan. Amikor a kernel a kép szélére ér, a szélső pixelek számításánál kilógna a képből. A Szegély beállítással lehet megadni, hogy a GIMP hogyan kezelje ezt a problémát. A Kiterjesztés nem veszi figyelembe a kernel kilógó részét, a Körbe állásban a kép szemközti szélén lévő pixelekkel pótolja a hiányzó részt. A Kivágásnál nem viszi ki a kernelt a kép széléig, így a szélső pixelek nem lesznek újraszámolva, de a végén levágja őket a képről.
Összefoglalva az eddigieket, a számítás képlete a következő:
, ahol a kernel mérete N×N pixel (N egy páratlan szám), a Ki,j a kernel elemeit jelenti, Pk,l a kép (k,l) koordinátájú pixele. O az osztó és E az eltolás értéke.
