Perceptuele uniformiteit is de heilige graal voor kleurvergelijkingen. Een kleurruimte is perceptueel uniform wanneer een bepaalde numerieke afstand tussen twee kleuren altijd overeenkomt met hetzelfde waargenomen visuele verschil — ongeacht waar in de ruimte die kleuren zich bevinden.
Het probleem met RGB
In RGB-ruimte ziet een Euclidische afstand van 10 eenheden tussen twee donkere blauwtinten eruit als nauwelijks verandering, terwijl dezelfde afstand van 10 eenheden tussen twee geeltinten dramatisch verschillend kan lijken. Deze niet-uniformiteit betekent dat eenvoudige afstandsberekeningen in RGB onbetrouwbaar zijn voor door mensen waargenomen gelijkenis.
CIELAB: De eerste poging
De CIE 1976 L*a*b*-kleurruimte (CIELAB) is specifiek ontworpen om perceptueel uniform te zijn. Hij gebruikt drie assen: L* voor lichtheid, a* voor groen–rood en b* voor blauw–geel. Hoewel een aanzienlijke verbetering ten opzichte van RGB, heeft CIELAB nog steeds bekende niet-uniformiteiten, vooral in het blauwe gebied, wat heeft geleid tot steeds complexere Delta E-formules (CIE76, CIE94, CIEDE2000) om dit te compenseren.
OKLAB: De moderne oplossing
OKLAB, ontworpen door Björn Ottosson in 2020, bereikt een betere perceptuele uniformiteit dan CIELAB met een eenvoudiger wiskundig model. De cilindrische vorm, OKLCH (Lightness, Chroma, Hue), is overgenomen in CSS Color Level 4 en is daarmee de de facto standaard geworden voor perceptueel uniforme kleurmanipulatie op het web.
Waarom het ertoe doet voor generatieve kunst
Bij paletgeneratie en kleurharmonie bepaalt perceptuele uniformiteit of een gradient er vloeiend uitziet of banding vertoont, of complementaire kleuren even levendig aanvoelen, en of een gequantiseerd palet het origineel trouw weergeeft. Onze Lab-tools gebruiken OKLCH voor gradientinterpolatie juist vanwege deze eigenschap.
