Tento filtr naleznete v nabídce
Tento filtr je rájem matematiků. Mnoho filtrů interně používá konvoluční matici. S filtrem Konvoluční matice si ale můžete vytvořit filtr vlastní.
Co je konvoluční matice? Konvoluce je operace s maticí pomocí jiné matice zvané „jádro“. Jako první matice se používá obrázek určený k úpravě. Obrázek je vlastně dvojrozměrná pravoúhlá souřadnicová síť pixelů. Použité jádro závisí na požadovaném efektu.
GIMP používá matice 5×5 nebo 3×3. Zde budeme uvažovat pouze o maticích 3×3, jsou nejpoužívanější a obvykle dostačující pro všechny požadované efekty. Pokud jsou všechny krajní hodnoty jádra nastaveny na nulu, bude systém považovat jádro za matici typu 3×3.
Filtr postupně zpracovává všechny pixely obrázku. Pro každý z nich vynásobí hodnotu aktuálního pixelu a jeho osmi sousedních pixelů odpovídajícími hodnotami jádra. Výseldné hodnoty pak sečte a výsledek je pak hodnotou přiřazenou aktuálnímu pixelu.
Jednoduchý příklad:
Vlevo je matice obrázku: každý pixel je popsán svou hodnotou. Aktuální pixel je vyznačen červeně. Oblast, se kterou jádro pracuje, je označena zeleně. Uprostřed obrázku je jádro a vpravo je výsledek konvoluce.
Stalo se následující: filtr úpostupně zleva doprava a shora dolů načte všechny pixely z oblasti, se kterou jádro pracuje. Hodnotu každého takového pixelu vynásobí příslušnou hodnotou jádra a výsledky sečte: (100*0)+(50*1)+(50*0)*(100*0)+(100*0)+(100*0)+(100*0)+(100*0)+(100*0)+(100*0) = 50. Aktuální pixel tk získá hodnotu 50. Filtr nepracuje přímo s obrázkem, ale s jeho kopií. Výsledkem tohoto filtru bude proto posun o pixelů o jeden pixel dolů.
Jaderná matice 5×5: hodnoty zapisujte přímo do jednotlivých polí.
Dělitel: Výsledek předchozího výpočtu bude vydělen tímto číslem. Většinou nebudete používat 1. která ponechá výzledek beze změny, ale 9 nebo 25, podle velikosti matice.
Posun: Tato hodnota je k výsledku přičtena. Je užitečná v případě záporných výsledků. Posun ale může být také záporný.
Když je aktuální pixel na okraji, je část jádra mimo obrázek. Je třeba se rozhodnout, co má v takovém případě filtr dělat:
Rozšířit: tato část jádra se nebere v potaz.
Ohýbání: tato část jádra použije pixely z druhé strany obrázku, takže pixely z jedné strany se objeví na druhé straně.
Ořez: Pixely na krajích nejsou modifikovány, ale ořezány.
Zde můžete zvolit jeden nebo více kanálů, s ekterými bude filtr pracovat.
Pokud je tato volba aktivní, je dělitel výsledkem konvoluce. Pokud je tento výsledek nulový (nulou nelze dělit), je použit posun o velikosti 128. Pokud je záporný (záporná barva není možná), je použit posun o velikosti 255 (invertuje výsledek).
Pokud není tato volba zvolena, nebere filtr v úvahu průhlednost, což může vést k artefaktům při rozmazávání.