### 9.2. Convolutiematrix

#### 9.2.1. Overzicht

Dit is het domein voor een wiskundige. De meeste filters gebruiken een convolutiematrix. Met het filter Convolutiematrix, als u dat leuk vindt, kunt u een aangepast filter maken

Wat is een convolutiematrix? Het is mogelijk er een ruw idee van te krijgen, zonder wiskundige gereedschappen te gebruiken die slechts weinigen kennen. Convolutie is de behandeling van een matrix door een andere die “kernel” wordt genoemd.

Het filter Convolutiematrix gebruikt een eerste matrix, wat de afbeelding is die moet worden behandeld. De afbeelding is een bi-dimensionale collectie pixels binnen rechthoekige coördinaten. De gebruikte kernel is afhankelijk van het effect dat u wilt bereiken.

GIMP gebruikt matrices 5×5 of 3×3. We zullen alleen matrices 3×3 behandelen, zij worden het meest gebruikt en zij zijn voldoende voor alle effecten die u zou willen bereiken. Als alle grenswaarden van een kernel zijn ingesteld op nul, dan zal het systeem het beschouwen als een 3x3 matrix.

Het filter beoordeelt achtereenvolgens elke pixel van de afbeelding. Voor elk ervan, wat we de “initiële pixel” zullen noemen, vermenigvuldigt het de waarde van deze pixel en de waarden van de 8 omliggende pixels met de corresponderende waarde van de kernel. Dan worden de resultaten opgeteld en de initiële pixel wordt ingesteld op deze uiteindelijke waarde.

Een eenvoudig voorbeeld:

Aan de linkerkant staat de afbeeldingsmatrix: elke pixel is gemarkeerd met zijn waarde. De initiële pixel heeft een rode rand. Het actiegebied van de kernel heeft een groene rand. In het midden staat de kernel en, aan de rechterkant, het resultaat van de convolutie

Hier is wat er gebeurde: het filter las achtereenvolgens, van links naar rechts en van boven naar beneden, alle pixels van het actiegebied van de kernel. Het vermenigvuldigde de waarde van elk ervan met de corresponderende waarde uit de kernel, en telde de resultaten daarbij op. De initiële pixel is 42 geworden: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42. (het filter werkt niet op de afbeelding maar op een kopie ervan). Als grafisch resultaat is de initiële pixel een pixel naar beneden verplaatst.

#### 9.2.2. Activeren van het filter

Dit filter is te vinden in het hoofdmenu onder Filters → Algemeen → Convolutiematrix….

#### 9.2.3. Opties

Afbeelding 17.182. Opties voor “Convolutiematrix”

Voorinstellingen, “Type invoer”, Snijden, Mengopties, Voorbeeld, Filter samenvoegen, Voor/na

  | Opmerking
  Deze opties staan beschreven in Paragraaf 2, “Algemene eigenschappen”.

Matrix

  Dit is de 5×5 kernelmatrix: u voert de gewenste waarden direct in de vakken in.

  Deler

    Het resultaat van de eerdere berekening zal worden gedeeld door deze deler. U zult meest waarschijnlijk niets anders gebruiken dan 1, wat de resultaten onveranderd laat, en 9 of 25 overeenkomstig de grootte van de matrix, wat het gemiddelde van de waarden van de pixels geeft. De deler kan alleen worden gewijzigd als Normaliseren is uitgeschakeld.

  Verschuiving

    Deze waarde wordt opgeteld bij het resultaat van de deling. Dat is nuttig als het resultaat negatief zou kunnen zijn. Deze verschuiving mag negatief zijn. Het kan alleen worden gewijzigd als Normaliseren is uitgeschakeld.

Kanalen

  Hier kunt u selecteren welke kanalen het filter zou moeten wijzigen.

Normaliseren

  Als deze optie is geselecteerd, neemt de deler het resultaat over van de waarde van de convolutie. Als dit resultaat gelijk is aan nul (het is niet mogelijk om door nul te delen), dan wordt een verschuiving van 128 toegepast. Als dit negatief is (een negatieve kleur is niet mogelijk), wordt een verschuiving van 255 toegepast (inverteert het resultaat).

Alfa-weging

  Als deze optie niet is geselecteerd, houd het filter geen rekening met transparantie en dat zou enige artefacten kunnen veroorzaken bij blurren.

Rand

  Als de initiële pixel op een rand ligt, zal een deel van de kernel buiten de afbeelding liggen. U moet bepalen wat het filter zou moeten doen:

  Afbeelding 17.183. Voorbeelden rand

  Bronafbeelding

  rand Geen

  rand Klemmen

  rand Herhalen

  Geen

    Met dit deel van de kernel wordt geen rekening gehouden.

  Klemmen

    Pixels op randen worden niet aangepast, zij worden bijgesneden.

  Herhalen

    Dit deel van de kernel zal worden beïnvloed door pixels van de tegenoverliggende rand, pixels verdwijnen dus van de ene rand en verschijnen opnieuw aan de andere kant.

  Zwart

    Pixels op randen worden naar zwart gewijzigd.

  Wit

    Pixels op randen worden naar wit gewijzigd.

#### 9.2.4. Voorbeelden

Ontwerpen van kernels is gebaseerd op wiskunde op hoog niveau. Reeds gemaakte kernels zijn te vinden op het web. Hier zijn enkele voorbeelden:

Afbeelding 17.184. Verscherpen

Afbeelding 17.185. Blurren

Afbeelding 17.186. Rand verbeteren

Afbeelding 17.187. Rand detecteren

Afbeelding 17.188. Reliëf

9. Filters Algemeen |  | 9.3. Afstandskaart

Report a bug in GIMP Rapporteer een fout in de documentatie