6.2. Konturutjamningsmatrise

Du har tilgang til filteret frå biletmenyen via Filter->Generiske->Konturutjamningsmatrise

Dette er nok matematikarane sitt domene, men med prøving og feiling kan også andre få til svært så sofistikerte filtre ved hjelp av denne matrisen. Dei fleste filtra i GIMP er sett opp ved hjelp av denne matrisen. (Ei matrise er i denne samanhengen eit mønster sett opp i tabellform).

Kva i all verda er eigentleg ei kantutjamningsmatrise, eller som det også blir kalla, ei konvolusjonsmatrise? Konvolusjon er å kombinere ei matrise med ei anna matrise på ein eller annan måte.

Dette matrisefilteret bruker det biletet som skal behandlast som den første matrisa. Biletet blir her sett på som ei todimmensjonal samling av pikslar i rektangulære ruter. Filteret er i denne samanhengen kjernematrisa, og innhaldet i denne matrisa er avhengig av kva effekt du ønskjer av filteret.

GIMP bruker 5 × 5 eller 3 × 3 matriser. Her skal vi konsentrere oss om 3 × 3 matriser sidan desse er mest brukt. Dessutan kan du bruke desse matrisene til alle ønskte effektar. Dersom alle kantverdiane i ei kjernematrise er sett til null, vil systemet oppfatte dette som ei 3 × 3 matrise.

Filteret eksaminerer kvar enkelt piksel i biletet etter tur. Den pikselen som for tida blir analysert, kallar vi her for initialpikselen. Verdien av denne og verdiane av dei 8 omkringliggjande pikslane blir multipliserte med den tilsvarande verdien i kjernen. Den nye verdien til initialpikselen blir summen av desse multiplikasjonane.

Eit lite eksempel:

Figuren til venstre viser matrisa for biletet. Kvar rute representerer ein piksel og tala i ruta pikselverdien. Initialpikselen er markert med ein raud kant. Området som blir påverka av kjernematrisa er markert med ei grøn ramme. Biletet i midten viser kjernen og biletet til høgre det ferdige resultatet.

Filteret les piksel for piksel frå venstre mot høgre og frå topp til botn gjennom heile området som blir påverka av kjernen. Verdien for kvar piksel blir multiplisert med tilsvarande verdi i kjernen og resultatet blir lagt til dei andre verdiane slik: (100 × 0) + (50 × 1) + (50 × 0) + (100 × 0) + (100 × 0) + (100 × 0) + (100 × 0) + (100 × 0) + (100 × 0) + (100 × 0) = 50. Verdien av initialpikselen blir her altså 50.