9.2. Matricea de convoluție

9.2.1. Prezentare generală

Iată domeniul unui matematician. Multe dintre filtre utilizează o matrice de convoluție. Cu filtrul matrice de convoluție, dacă doriți, puteți construi un filtru personalizat.

Ce este o matrice de convoluție? Este posibil înțelegem ideea fără a utiliza instrumentele matematice pe care doar unele persoane le cunosc. Convoluția este tratamentul aplicat unei matrice prin intermediul alteia care se numește nucleu.

Filtrul matrice de convoluție utilizează o primă matrice, care este imaginea de tratat. Imaginea este o colecție bi-dimensională de pixeli în coordonate dreptunghiulare. Nucleul utilizat depinde de efectul dorit.

GIMP utilizează matrice 3x3 sau 5x5 . Vom lua în considerare numai matricele 3x3, acestea sunt cele mai utilizate și sunt suficiente pentru toate efectele dorite. Dacă toate valorile bordurii unui nucleu sunt stabilite la zero, atunci sistemul îl va considera ca o matrice 3x3.

Filtrul studiază succesiv fiecare pixel al imaginii. Pentru fiecare dintre ei, pe care îl vom numi pixel inițial, acesta înmulțește valoarea acestui pixel și valorile celor 8 pixeli din jurul său cu valoarea corespunzătoare a nucleului. Apoi adaugă rezultatele, iar pixelul inițial este stabilit la această valoare a rezultatului final.

Un exemplu simplu:

În stânga este matricea imaginii: fiecare pixel este marcat cu valoarea sa. Pixelul inițial are o bordură roșie. Zona de acțiune a nucleului are o bordură verde. În mijloc este nucleul și în dreapta este rezultatul convoluției.

Iată ce s-a întâmplat: filtrul citește succesiv de la stânga la dreapta și de sus în jos, toți pixelii din zona de acțiune a nucleului. Acesta a multiplicat valoarea fiecăruia cu valoarea corespunzătoare a nucleului și a adunat rezultatele. Pixelul inițial a devenit 42: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42. (filtrul nu funcționează pe imagine, ci pe o copie). Ca un rezultat grafic, pixelul inițial a mutat un pixel în jos.

9.2.2. Se activează filtrul

Acest filtru se găsește în meniul fereastră al imaginii sub FiltreGenericeMatrice de convoluție... .

9.2.3. Opțiuni

Fig. 17.169. Opțiuni Matrice de convoluție

Opțiuni „Matrice de convoluție”

Matrice

Aceasta este matricea nucleu 5x5: introduceți valorile dorite direct în căsuțe.

Divizorul

The result of previous calculation will be divided by this divisor. You will hardly use anything else than 1, which leaves results unchanged, and 9 or 25 according to matrix size, which gives the average of pixel values. The divisor can only be changed when Normalize is unchecked.

Decalaj

This value is added to the division result. This is useful if result may be negative. This offset may be negative. It can only be changed when Normalize is unchecked.

Bordură

Când pixelul inițial este pe o bordură, o parte din nucleu se află în afara imaginii. Trebuie să decideți ce trebuie să facă filtrul:

De la stânga: imagine sursă, Extinde bordura, Încadrează bordura, Decupează bordura

Extinde

Această parte a nucleului nu este luată în considerare.

Încadrează

Această parte a nucleului va studia pixelii bordurii opuse, astfel încât pixelii care dispar dintr-o parte să reapară pe cealaltă parte.

Decupează

Pixelii de pe borduri nu sunt modificați, dar sunt decupați.

Canale

Aveți posibilitatea să selectați acolo unul sau mai multe canale cu care va lucra filtrul.

Normalizează

Dacă această opțiune este bifată, divizorul ia valoarea rezultat a convoluției. Dacă acest rezultat este egal cu zero (nu este posibil să se împartă la zero), atunci se aplică un decalaj de 128. Dacă este negativ (o culoare negativă nu este posibilă), se aplică un decalaj de 255 (inversează rezultatul).

Ponderare alfa

Dacă această opțiune nu este bifată, filtrul nu ia în considerare transparența și acest lucru poate fi cauza unor artefacte atunci când se estompează.

9.2.4. Exemple

Proiectarea de nuclee se bazează pe matematică de nivel înalt. Puteți găsi nuclee gata făcute pe web. Iată câteva exemple:

Fig. 17.170. Ascuță

Ascuță
Ascuță

Fig. 17.171. Estompează

Estompează
Estompează

Fig. 17.172. Îmbunătățire margine

Îmbunătățire margine
Îmbunătățire margine

Fig. 17.173. Detectarea marginii

Detectarea marginii
Detectarea marginii

Fig. 17.174. Reliefează

Reliefează
Reliefează