Estem en el domini dels matemàtics. La majoria dels filtres utilitzen matrius de convolució. Amb aquest filtre es pot, amb imaginació, fer filtres personalitzats.
Què és una matriu de convolució? Podem fer una idea aproximada sense necessitat d'utilitzar eines matemàtiques que pocs coneixen. Convolució és el tractament d'una matriu per una altra anomenada matriu de «nucli» (kernel).
El filtre Matriu de convolució utilitza una primera matriu que és la imatge. La imatge és una col·lecció de píxels bidimensionals en unes coordenades 2D rectangulars, i un nucli variable segons l'efecte desitjat.
GIMP utilitza matrius 5×5 o 3×3. Considerarem només matrius 3×3, són les més utilitzades i són suficients per a tots els efectes que vulgueu. Si tots els valors de la vora d'un nucli es posen a zero, llavors el sistema el considerarà com una matriu 3×3.
El filtre estudia successivament cada píxel de la imatge. Per cada píxel, el que anomenem «píxel inicial», multiplica el valor d'aquest píxel i de cada un dels 8 píxels circumdants pel valor corresponent al nucli. Suma tots els resultats i el píxel inicial pren el valor del resultat final.
Un exemple simple:
A l'esquerra hi ha la matriu de la imatge: cada píxel està marcat amb el seu valor. El píxel inicial té una vermella. L'àrea d'acció del nucli té la vora verda. Al centre hi ha el nucli i a la dreta el resultat de la convolució.
Veiem el que passa: el filtre llegeix successivament d'esquerra a dreta i de dalt a baix, tots els píxels de l'àrea d'acció del nucli. Multiplica el valor de cada un d'ells pel valor corresponent al nucli i se sumen els resultats. El píxel inicial és de 42: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42 (el filtre no opera sobre la imatge sinó en una còpia). El resultat gràfic és un desplaçament cap avall del píxel inicial.
Nota | |
---|---|
Aquestes opcions es descriuen a Secció 2, «Característiques comunes». |
Aquesta és la matriu del nucli 5×5: introduïu els valors desitjats directament en les caselles.
El resultat del càlcul anterior es dividirà per aquest divisor. Difícilment utilitzareu res més que 1, cosa que deixa els resultats sense canvis i 9 o 25 segons la mida de la matriu, que dona la mitjana de valors de píxels. El divisor només es pot canviar quan Normalitza no està marcada.
Aquest valor s'afegeix al resultat de la divisió. Això és útil si el resultat pot ser negatiu. Aquest desplaçament pot ser negatiu. Només es pot canviar quan Normalitza no està marcada.
Ací podreu seleccionar quins canals ha de canviar el filtre.
Quan s'activa aquesta opció, el divisor pren el valor del resultat de la convolució. Si el resultat és 0 (no es pot dividir per 0), llavors s'aplica un desplaçament de 128. Si és negatiu (no es pot tenir un color negatiu), s'aplica un desplaçament de 255 (que inverteix el resultat).
Si aquesta opció no està marcada, el filtre no té en compte la transparència del color, això pot ser causa d'alguns artefactes quan s'aplica un difuminat.
Quan el píxel inicial està en una vora, una part del nucli està fora dels límits de la imatge. Cal decidir què ha de fer el filtre:
Aquesta part del nucli no es té en compte.
Els píxels de la vora no es modifiquen, però s'escapcen.
Aquesta part del nucli estudiarà els píxels del cantó oposat, d'aquesta manera els píxels que desapareixen d'un cantó reapareixen per l'altre.
Els píxels de les vores canvien a negre.
Els píxels de les vores canvien a blanc.
La creació de nuclis requereix coneixements matemàtics d'alt nivell. Però podeu trobar tot el que s'ha fet al web. Ací teniu alguns exemples: