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 käyttää 5x5 tai 3x3 matriiseja. Me tulemme vain käsittelemän 3x3 matriiseja, koska ne ovat eniten käytettyjä ja ne riittävät kaikkiin haluamiisi tehosteisiin. Jos kaikki ytimen raja-arvot asetetaan nollaan, niin järjestelmä pitää sitä 3x3 matriisina.
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”. |
Tämä on 5x5 ytimen matriisi: syötät haluamasi arvot suoraan ruutuihin.
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.
Kun alustava pikseli on rajalla, niin osa ytimestä on ulkona kuvasta. Sinun on päätettävä, mitä suotimen tulee tehdä:
From left: source image, None border, Loop border, Clamp border
Tätä osaa ytimestä ei oteta huomioon.
Tämä osa ytimestä tutkii vastakkaisen rajan pikseleitä, joten toiselta puolelta katoavat pikselit ilmestyvät uudelleen toisella puolella.
Rajoilla olevia pikseleitä ei ole muokattu, mutta ne on rajattu.
Pixels on borders are changed to black.
Pixels on borders are changed to white.