De palette verkleinen
Kleurkwantisatie reduceert een full‑color afbeelding (tot 16.777.216 kleuren) naar een kleine palette — meestal 2 tot 256 kleuren. De uitdaging is om te bepalen welke kleuren je behoudt en hoe je elke oorspronkelijke kleur toewijst aan de dichtstbijzijnde palette‑kleur.
Algoritmen
// Median-cut quantization (simplified)
function medianCut(colors: RGB[], depth: number): RGB[] {
if (depth === 0) return [average(colors)];
const axis = longestAxis(colors); // R, G, or B
colors.sort((a, b) => a[axis] - b[axis]);
const mid = Math.floor(colors.length / 2);
return [
...medianCut(colors.slice(0, mid), depth - 1),
...medianCut(colors.slice(mid), depth - 1),
];
}De esthetische kracht van beperking
Gecombineerd met dithering, wordt kwantisatie een krachtig esthetisch hulpmiddel. Het beperkte palet zorgt voor een herkenbare retrolook — die doet denken aan de CGA-, EGA- en Game Boy-tijdperken — terwijl dithering de illusie van vloeiende gradients herstelt. De spanning tussen beperkte middelen en rijke resultaten is essentieel voor de BVDART-esthetiek.
