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.
// 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];Veelvoorkomende kernels
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.
