Tässä on matemaatikon toimialue. Suurin osa suotimista käyttää konvoluutiomatriisia. Konvoluutiomatriisi-suotimella voit halutessasi luoda kustomoidun suotimen.
Mikä on konvoluutiomatriisi? Voit saada karkean idean siitä käyttämättä matemaattisia työkaluja, jotka vain pieni osa tuntee. Konvoluutio on matriisin käsittelyä toisella matriisilla, jota kutsutaan ”ytimeksi”.
Konvoluutiomatriisi-suodin käyttää ensimmäistä matriisia, joka on käsiteltävä kuva. Kuva on kaksiulotteinen kokoelma pikseleitä suorakulmaisessa koordinaatistossa. Käytettävä ydin riippuu haluamastasi tehosteesta.
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.
Suodin tutkii kuvan jokaista pikseliä peräkkäin. Jokaista niitä kohden, joita kutsumme ”alustavaksi pikseliksi” se kertoo tämän pikselin ja sitä ympäröivien 8 pikselin arvot ytimen vastaavalla arvolla. Sen jälkeen se ynnää tulokset ja alustavan pikselin arvo asetetaan tämän lopputuloksen arvoon.
Yksinkertainen esimerkki:
Vasemmalla on kuvamatriisi: jokainen pikseli on merkattu sen arvolla. Alustavalla pikselillä on punainen raja. Ytimen toiminta-alueella on vihreä raja. Ydin on keskellä ja oikealla on konvoluution tulos.
Tapahtumat kerrottuna: suodin luki ytimen toimita-alueen jokaisen pikselin peräkkäin vasemmalta oikealla ja ylhäältä alas. Se kertoi jokaisen arvon ytimen vastaavalla arvolla ja lisäsi tulokset yhteen. Alustavasta pikselistä on tullut 42: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42. (suodin ei työstä kuvaa vaan sen kopiota). Graafisena tuloksena alustava pikseli on siirtynyt yhden pikselin verran alaspäin.
Huomaa | |
---|---|
These options are described in Kohta 2, ”Common Features”. |
This is the 5×5 kernel matrix: you enter wanted values directly into boxes.
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.
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.
Here you can select which channels the filter should change.
Jos tämä asetus on valittuna, niin jakaja ottaa konvoluution tuloksen arvon. Jos tämä tulos on nolla (jakaminen nollalla ei ole mahdollista), niin 128:n siirtymä lisätään. Jos se on negatiivinen (negatiivinen väri ei ole mahdollinen), niin 255:n siirtymä lisätään (kääntää tulokset).
Jos tämä asetus ei ole valittuna, niin suodin ei ota läpinäkyvyyttä huomioon ja tämä voi aiheuttaa joitakin artefakteja sumentaessa.
When the initial pixel is on a border, a part of the kernel is outside the image. You have to decide what the filter should do:
This part of the kernel is not taken into account.
Rajoilla olevia pikseleitä ei ole muokattu, mutta ne on rajattu.
This part of the kernel will be affected by pixels of the opposite border, so pixels disappearing from one side reappear on the other side.
Pixels on borders are changed to black.
Pixels on borders are changed to white.