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 uses 5×5 or 3×3 matrices. We will consider only 3×3 matrices, they are the most used and they are enough for all effects you want. If all border values of a kernel are set to zero, then system will consider it as a 3×3 matrix.
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». |
This is the 5×5 kernel matrix: you enter wanted values directly into boxes.
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.
Here you can select which channels the filter should change.
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:
From left: source image, None border, Loop border, Clamp border
Aquesta part del nucli no es té en compte.
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 la vora no es modifiquen, però s'escapcen.
Pixels on borders are changed to black.
Pixels on borders are changed to white.
La creació de nuclis requereix coneixements matemàtics d'alt nivell. Però podeu trobar tot el que s'ha fet al web. Aquí teniu alguns exemples: