Ga naar hoofdinhoud
BVDART Logo
← Alle gidsenFilters & transformaties

Convolutiekernels

Een kernel combineert elke pixel met zijn buren. Verander de gewichten om te vervagen, te verscherpen of randen te vinden.

Laat de berekening zien ↓

Probeer het uit

Invoerbeeld48 × 48 px
Klik om een pixel te bekijkenx 24 · y 24
De kernel3 × 3
Randen

Bewaar de veranderingen. Laat egale vlakken verdwijnen.

UitvoerbeeldRanden
Uitvoerbeeld

Elke pixel, opnieuw berekend.

Schuif. Vermenigvuldig. Tel op. Herhaal.

Pixel 1.177 / 2.304
02 / Achter de schermen

Eén pixel. Negen kleine beslissingen.

Neem een pixel en zijn acht buren. Vermenigvuldig elke waarde met het kernelgewicht en tel de resultaten op.

De gekozen pixel[24, 24]

1. Lees de buurt

Helderheid van 0 tot 255

2. Pas de gewichten toe

Kernel 180° gedraaid voor convolutie

3. Tel alles op

0
som -91 ÷ 1 = -91
Zwart
Wit

Onder 0 → afgekapt naar zwart.

In een egaal gebied heffen positieve en negatieve gewichten elkaar op. Bij een rand niet: positieve reacties lichten op. Negatieve reacties worden afgekapt naar zwart.

03 / Ontwikkel je intuïtie

Dezelfde bewerking. Andere manieren van kijken.

Dit voorbeeld gebruikt gegenereerde grijswaardepatronen, een stapgrootte van één en herhaalde randpixels. Resultaten worden afgerond en begrensd tot 0–255. Convolutie draait de kernel 180°; deze presets zijn symmetrisch en blijven daarbij gelijk. Het Lab past de matrix direct toe (correlatie): draai een asymmetrische matrix zelf om dit voorbeeld daar na te maken.

Scan dezelfde ring met randdetectie, identiteit en vervagingskernels. Gebruik een regelaar om het over te nemen.

Wat je kunt proberen
  1. Wissel tussen Origineel, Vervagen, Verscherpen en Randen. Probeer ringen, het schaakbord en golven.
  2. Klik op een pixel of gebruik de pijltjestoetsen, bewerk een gewicht of de deler en volg hieronder de buurt, gedraaide gewichten en uitvoerhelderheid. Stap of animeer de scan om door het beeld te bewegen.
Open in het Lab ↗

Waar je op kunt letten: Vervagen deelt helderheid met de buren. Verscherpen versterkt plaatselijke verschillen. Een randkernel heft egale gebieden op: positieve reacties lichten op, negatieve worden zwart.

Zo werkt het

Vermenigvuldig buurwaarden met hun coëfficiënten en tel de producten op. Een genormaliseerde 3 × 3-matrix vol enen middelt negen monsters. Negatieve gewichten trekken buren af en maken randen of richtingsverschillen zichtbaar. Bias verschuift het resultaat vóór afkapping.

Het voorbeeld toont het oorspronkelijke en gefilterde beeld en rekent de gekozen pixel uit. Het draait de kernel 180° voor mathematische convolutie en herhaalt randpixels. Het Lab past de matrix direct toe (correlatie). Symmetrische presets werken in beide gevallen gelijk; draai een asymmetrische matrix om dit voorbeeld in het Lab na te maken.

Gebruik het in het Lab

Gebruik Aangepaste kernel in het Lab voor 3 × 3 tot 9 × 9, kanalen, bias, grenzen en herhaling. Bewaar een bruikbare matrix met een naam en neem hem op in een keten.

Grenzen & verschillen

RGB-kernels laten alfa intact. Vergelijk voor transparantiebewuste vervaging de speciale vervagingstools met premultiplied kleurverwerking.

Verdieping

Het schuivende venster

Een convolution kernel (of filter) is een kleine matrix — meestal 3×3 of 5×5 — die over elke pixel van een afbeelding wordt geschoven. Op elke positie worden de kernelwaarden elementgewijs vermenigvuldigd met de onderliggende pixelwaarden en opgeteld tot één enkele outputpixel.

convolve.js
// 3×3 Sharpen kernel
const sharpen = [
  [ 0, -1,  0],
  [-1,  5, -1],
  [ 0, -1,  0]
];

// Apply: for each pixel (x, y)
let sum = 0;
for (let ky = -1; ky <= 1; ky++)
  for (let kx = -1; kx <= 1; kx++)
    sum += image[y+ky][x+kx] * sharpen[ky+1][kx+1];
javascript

Veelvoorkomende kernels

Kernel-dierentuin

Gaussian blur verzacht ruis. Sobel detecteert horizontale en verticale randen. Laplacian vindt contouren. Unsharp mask versterkt detail. Emboss creëert een 3D-reliëfeffect. Elk daarvan is simpelweg een andere set matrixgewichten.

Verschillende kernels leveren drastisch verschillende effecten op. De Gaussian blur kernel neemt een gewogen gemiddelde van naburige pixels volgens een bell curve. De Sobel operator gebruikt twee kernels — één voor horizontale randen, één voor verticale — en combineert ze via √(Gx² + Gy²).

Operaties koppelen

In BVDART is convolutie de naamgevende techniek. Werken worden opgebouwd door ketens van kernel-operaties te componeren — eerst blur, dan edge-detect, dan sharpen — waarbij elke stap verborgen structuur in ruisvelden en procedurele texturen blootlegt. De volgorde is cruciaal: dezelfde kernels in een andere reeks leveren totaal andere composities op.

Probeer een Gaussian blur (σ=2) te koppelen aan een daaropvolgende Laplacian edge detect — dit is de Laplacian of Gaussian (LoG) operator, uitstekend om randen op een specifieke schaal te vinden.

Artikelen

Verwante kunstwerken

Verwante Lab-categorieën

Bronnen & naslag

Gids bijgewerkt