Verkeerd kleurprofiel

Wat te doen als de kleuren van een foto er na het exporteren vanuit Photoshop niet meer hetzelfde uitzien? Dit heeft vast iets met het gekozen kleurprofiel te maken.

Het probleem

Herken je dit? Nadat je veel energie hebt gestoken in het bewerken van een foto, ben je eindelijk tevreden. Je bewaart de foto als jpg-bestand omdat je hem per email wilt sturen naar degene die je gefotografeerd hebt. Maar als je de foto daarna bekijkt, schrik je van wat er van je werk is overgebleven. De kleuren zijn flets geworden en dat was toch echt niet de bedoeling!

Afb 1 bestaat uit twee halve foto’s die we tegen elkaar aan hebben gelegd. Vooral bij het gezicht kun je zien wat we bedoelen. Het linker deel van het gezicht is anders gekleurd dan het rechter deel. Een van de delen hebben we na exporteren naast het origineel gelegd. Er is verschil opgetreden.

Ook nadat je meerdere malen hebt geëxperimenteerd met een andere waarde voor de kwaliteit van de te maken jpg, blijft het effect hetzelfde. En dat is ook niet zo vreemd omdat je hiermee de compressie verandert, niet de kleuren. De moed zou je daarom in schoenen zakken. Maar wees gerust, de redding is nabij!

En die redding, zo zal straks blijken, is heel eenvoudig. Maar om te begrijpen hoe deze redding werkt heb je wat achtergrondkennis nodig. Dit artikel biedt zowel de theoretische onderbouwing als de praktische redding. Wil je alleen de redding, ga dan meteen door naar het einde.

Een kleurruimte

Van de triljarden voor mensen zichtbare kleuren (het zogenaamde zichtbare spectrum) zien we in afb 2 een schematische weergave. Hiervan kan een beeldscherm slechts een deel weergeven. Meestal is dit niet meer dan het gebied dat in afb 2 wordt aangegeven met sRGB. Ook een printer kan niet alle kleuren van het zichtbare spectrum afdrukken en een camera kan niet al deze kleuren registreren.

Je kunt daarom stellen dat een beeldscherm, printer of een camera (vanaf nu zullen we dit soort “kleur verwerkende apparaten” voor het gemak maar even een device noemen) een deel, of liever een subset, van het zichtbare spectrum kan verwerken.

Een dergelijke subset van kleuren noemen we een kleurruimte. Een kleurruimte van een device is dus dat deel van het zichtbare spectrum dat dit device kan verwerken. Werkt een beeldscherm op basis van sRGB, dan kan hij dus alleen de kleuren binnen deze kleurruimte laten zien.

Een foto binnen een kleurruimte

Wanneer een foto als jpg wordt opgeslagen met behulp van een camera, dan gebruikt de camera daarvoor een kleurruimte. Hij kan een kleur die zich buiten zijn kleurruimte bevindt niet registreren en zal die daarom moeten terugbrengen naar een kleur die het meest deze kleur benaderd.

In dat geval vindt dus een vorm van clipping plaats. De kleur wordt geconverteerd naar een te verwerken (=acceptabele) waarde. Uiteindelijk zullen hierdoor alle kleuren die een onderdeel maken van de foto passen binnen de kleurruimte van de camera. Als het dus niet goedschiks past, dan wel kwaadschiks.

Kleurruimte instellen

Een aantal camera’s biedt de mogelijkheid om de te gebruiken kleurruimte in te stellen. Vaak kun je dan kiezen voor sRGB of AdobeRGB. Zoals in afb 2 te zien is, beslaat AdobeRGB een groter gebied binnen het zichtbare spectrum dan sRGB waardoor AdobeRGB dus meer kleuren bevat. Met name meer groene kleuren. De gehele kleurruimte van sRGB valt binnen AdobeRGB, zoals in dezelfde figuur te zien is. Dus kies je voor AdobeRGB dan heb je, populair gezegd, sRGB met een flinke rand aan (vooral groene) kleuren er extra om heen.

Dit wetende lijkt het misschien vreemd om een camera in te kunnen stellen op sRGB want waarom zou je voor minder kiezen? Welnu, erg veel devices gebruiken nu eenmaal de sRGB kleurruimte en door een foto te maken waarvan de kleuren zich binnen deze kleurruimte begeeft, weet je dus zeker dat die foto op al deze devices goed te vertonen is. Zo simpel is dat.

Maar gebruik je de foto op een device die AdobeRGB aan zou kunnen, dan zou je met AdobeRGB natuurlijk wel over meer kleurnuances beschikken. De foto ziet er daardoor wel een stuk beter uit.

Wat te gebruiken?

Als je zeker weet dat de gemaakte foto’s alleen op internet komen te staan, dan is de keuze van sRGB de meest logische. Je mag er namelijk vanuit gaan dat iedereen die jouw website bezoekt zal werken met een beeldscherm die op basis van sRGB werkt.

Maar weet je zeker dat je AdobeRGB kunt verwerken, of wil je gaan afdrukken op papier met de betere afdruk apparaten, dan is het logisch om niet voor het meer beperkende sRGB te kiezen als kleurruimte, maar om voor AdobeRGB te gaan.

En als je twijfelt?

Als je nog niet weet waar de foto allemaal voor gebruikt zal gaan worden, dan kun je maar beter kiezen voor een grote kleurruimte. Je zult in dit artikel nog lezen hoe je dit soort bestanden zonder veel problemen goed kunt converteren naar bijvoorbeeld sRGB mocht je ze op een website willen plaatsen.

Kleurprofiel om vast te leggen

Om de kleuren in een kleurruimte te kunnen aanduiden, zijn kleurprofielen opgesteld. Een kleurprofiel is op te vatten als een tabel met getallen waarmee de kleuren binnen de kleurruimte worden aangeduid.

Die getallen zeggen iets over het mengen van rood, groen en blauw licht (vandaar RGB). Rood, groen en blauw zijn voor het mengen van licht de primaire kleuren. Door deze drie kleuren te mengen kun je alle kleuren licht produceren. De aanduiding 0,0,0 betekent dat er geen rood, geen groen en geen blauw licht wordt gebruikt. Hierdoor ontstaat zwart. Geef je alle drie de kleuren de hoogste waarde, dan ontstaat wit licht.

In feite wordt in een bestand van een foto geen kleur opgeslagen, maar deze waarden uit de tabel van het kleurprofiel. Dit nu is belangrijk om je goed te realiseren wil je de rest van het verhaal kunnen blijven volgen: er worden dus geen kleuren opgeslagen, er worden alleen RGB waarden bewaard.

Hoe weet een beeldscherm wat hij moet laten zien?

Wanneer een bestand op een beeldscherm moet worden vertoond, zorgt de software van het beeldscherm er voor dat de waarden die in het fotobestand staan worden omgezet naar een bepaalde hoeveelheid rood, groen en blauw licht per pixel op het scherm. Daarvoor gebruikt het beeldscherm zijn kleurprofiel.

De meeste beeldschermen accepteren sRGB als kleurprofiel. Komt er daarom een sRGB waarde binnen, dan weet het beeldscherm welke kleur te tonen. Over dit kleurprofiel is door fabrikanten onderling afspraken gemaakt. Stel dat een bepaalde sRGB waarde zou leiden tot een paarse kleur, dan zou dezelfde kleur op alle sRGB monitoren moeten verschijnen, ongeacht van welke fabrikant dit afkomstig is.

Maar ja, techniek is techniek en mensen kunnen met de instellingen van hun beeldscherm het scherm anders instellen. Daarnaast ziet iets er anders uit op een beeldscherm als in de buurt tl-verlichting aan staat of wanneer er zonlicht op valt. Daarom moeten dit soort devices wel regelmatig gekalibreerd (=geijkt) worden. En dat doet lang niet iedereen. Dus er zijn wel degelijk verschillen, maar het idee zal duidelijk zijn.

Herkennen van het kleurprofiel

Als een device werkt op basis van een kleurprofiel, zoals de meeste beeldschermen dat met sRGB doen, dan zal het de waarden in het bestand behandelen alsof het sRGB waarden zijn.

Maar er zijn devices die kunnen werken met meerdere kleurprofielen. Daarvoor is de vermelding van het gebruikte kleurprofiel in het bestand nodig. Op dat moment krijgt het device vanuit het bestand te weten welk kleurprofiel gebruikt moet worden om de waarden goed te kunnen interpreteren.

In lang niet alle bestanden wordt het kleurprofiel vermeld. Dat zou een probleem kunnen vormen voor dergelijke “multi-kleurprofiel-devices”. Daarom beschikken deze apparaten altijd over een soort standaard kleurprofiel (vaak sRGB) dat dan de eer krijgt om de waarden om te mogen zetten naar kleuren.

Wanneer kan het mis gaan?

Nu we dit begrijpen is het niet moeilijk om te begrijpen wat er allemaal mis kan gaan. Laten we hiervan een paar voorbeelden noemen:

  • Een bestand beschreven met behulp van een bepaald kleurprofiel wordt verwerkt op een device die op basis van een ander kleurprofiel werkt;
  • Een bestand waarin geen vermelding staat van het gebruikte kleurprofiel krijgt door een “multi-kleurprofiel-device” een verkeerd kleurprofiel toegewezen.

Uitzondering? Toch niet…

Mogelijk denk je dat er een uitzondering is. Stel we bekijken een foto gemaakt in een kleine kleurruimte op een beeldscherm die met een veel grotere kleurruimte werkt. Misschien verwacht je dat dit wel goed zal gaan omdat de kleine kleurruimte zich toch geheel binnen de grote kleurruimte bevindt. Toch is dit niet waar.

In het bestand van de foto wordt het kleurprofiel gebruikt dat hoort bij de kleine kleurruimte. Een deel van de waarden in het bestand verwijzen in dat kleurprofiel waarschijnlijk naar een andere kleur dan in het kleurprofiel van de grotere kleurruimte.

Kortom, wanneer je een foto bekijkt gemaakt met een ander kleurprofiel dan waarin het opgeslagen is, kun je andere kleuren krijgen, ongeacht of het een groter of een kleinere kleurruimte betreft.

Wil je dezelfde kleuren te zien krijgen dan zullen de opgeslagen RGB waarden omgezet moeten worden naar de RGB waarden voor het gebruikte kleurprofiel. Er is dan dus een conversie nodig.

Conversie heen en weer

De conversie van RGB waarden van een kleinere kleurruimte naar een grotere levert doorgaans geen probleem op. Immers, als de kleinere kleurruimte een onderdeel vormt van de grotere kleurruimte, zoals sRGB dat is van AdobeRGB, dan kent AdobeRGB de beschreven kleuren uit het sRGB bestand en hoeven alleen de RGB waarden te worden aangepast naar hun equivalent in AdobeRGB. Converteer je een bestand van sRGB naar AdobeRGB dan zie je dus ook geen verschil.

Maar converteer je een AdobeRGB bestand naar een sRGB bestand, dan kun je soms wel verschillen zien. Immers, als in het AdobeRGB bestand kleuren zijn gebruikt die niet in de sRGB kleurruimte voorkomen, dan zullen deze kleuren moeten worden aangepast naar kleuren die wel binnen sRGB voorkomen. Wie afb 2 nog eens goed bekijkt en het verhaal nog steeds kan volgen, zal begrijpen dat dit vooral op zal vallen binnen de groene kleuren van een foto. Daarin zullen door de conversie nuances kunnen wegvallen.

Maar ook bij de conversie van een AdobeRGB bestand naar een sRGB bestand kan het voorkomen dat je geen verschillen ziet. Dat gebeurt op het moment dat in de foto alleen kleuren gebruikt zijn die ook binnen de sRGB kleurruimte voorkomen.

Dus niet altijd een probleem?

Nee hoor, want soms zijn er dus geen verschillen of zijn de nuances zo klein dat we nauwelijks verschil zien. Daarbij is er een aantal waarden fixed voor wat betreft de kleur, ongeacht de kleurruimte. Denk maar eens aan zwart.

Zwart wordt in RGB uitgedrukt met 0,0,0, zoals eerder toegelicht. Deze waarden betekenen immers dat er geen rood, geen groen en geen blauw licht aanwezig is. Er is dus helemaal geen licht. In ieder kleurprofiel zal 0,0,0 daarom leiden tot zwart en conversies van zwart zullen daardoor nooit kunnen leiden tot een andere kleur.

Software en kleurprofielen

Software zoals Capture One en Photoshop kunnen werken met verschillende kleurprofielen. In praktijk komt het er op neer dat dergelijke softwarepakketten vaak, wanneer zij een bestand inlezen, de kleuren converteren naar een heel ruim kleurruimte zodat ze op de achtergrond met grote nuances kunnen werken. Het voordeel hiervan is dat er geen afrondingsfouten worden opgestapeld en de natuurgetrouwheid van afbeeldingen zoveel mogelijk behouden blijft tijdens het bewerken.

De “achtergrondkleurruimte” is hierdoor vaak nog veel groter dan die van AdobeRGB. Hoewel je al die kleuren waarschijnlijk niet op het beeldscherm kunt zien, worden ze op de achtergrond dus wel degelijk gebruikt. 

Consequentie hiervan is wel dat bij het exporteren altijd een conversie van een grote achtergrondkleurruimte naar een kleinere plaats moet vinden. Op dat moment bepaal je welk kleurprofiel gebruikt moet worden om het bestand op te slaan. Als je dat niet specifiek opgeeft, zal de software hiervoor de keuze voor je maken.

Standaard kleurprofiel in Photoshop

In het menu Edit, Color Settings in Photoshop zien we welke instellingen hiervoor worden gebruikt als standaard instellingen voor het kleurgebruik binnen Photoshop. Standaard staat Photoshop ingesteld op de instellingen die onder “Europe General Purpose 3” worden gerangschikt. Oftewel, de instellingen waarvan Adobe meent dat die voor de meeste mensen in Europa waarschijnlijk het meest van toepassing zullen zijn.

Als Working Space zien we achter RGB staan dat hiervoor sRGB wordt gebruikt (zie afb 3). Misschien zou je hier een groter kleurprofiel verwachten zoals AdobeRGB, maar de redenering van Adobe is hiervoor dat de meeste beeldschermen nu eenmaal alleen kunnen werken op basis van sRGB en dat dit daardoor waarschijnlijk de meest logische keuze is voor veel toepassingen van Photoshop.

Hoewel sRGB inderdaad nog steeds het meest wordt toegepast, betekent dit nog niet dat het ook in alle gevallen de beste keuze zou zijn. AdobeRGB is speciaal ontworpen om met name foto’s er beter uit te laten zien op papier en daarom kan een aantal printers wel degelijk AdobeRGB bestanden verwerken.

Ook kunnen veel camera’s veel meer kleuren registreren dan dat er met het sRGB kleurprofiel of zelfs met het AdobeRGB kleurprofiel beschreven kunnen worden. Je raakt daarom belangrijke nuances kwijt die wel degelijk zijn gefotografeerd maar door het gekozen kleurprofiel niet kunnen worden opgeslagen.

In de camera vindt al een conversie naar een kleurprofiel plaats op het moment dat je in jpg de foto’s schiet. Daarom kun je bij sommige camera’s het gebruikte kleurprofiel wijzigen, bijvoorbeeld naar AdobeRGB. Maar dit is dus alleen nodig als je in bijvoorbeeld jpg schiet.

Wanneer met RAW bestanden wordt gewerkt wordt hier niet naar gekeken. In een RAW bestand worden de waarden geplaatst die door de camera werden gevonden zonder dat deze geconverteerd zijn. Het programma dat RAW bestanden inleest moet daarom het cameraprofiel kennen zodat het de waarden van de camera goed kan interpreteren en kan converteren naar zijn eigen kleurprofiel.

Camera RAW, het programma dat door Photoshop wordt gebruikt om RAW bestanden in te lezen, wordt dan ook regelmatig geupdate met zogenaamde nieuwe cameraprofielen. Dit zijn camera specifieke tabellen die Camera RAW gebruikt om de waarden in het RAW bestand goed te kunnen interpreteren.

Bij een nieuw bestand

Stel je hebt in Photoshop een nieuw bestand aangemaakt en je hebt niets bijzonders opgegeven. Je hebt dan een scherm zoals in afb 4 getoond voorbij zien komen. Kijken we daar goed naar, dan zie je dat er achter Color Profile staat “Don’t Color Manage this Document”. Oftewel: het bestand regelt zelf niets voor de kleuren, er staat geen kleurprofiel vermelding in. Dat regelt Photoshop.

In deze modus zal Photoshop voor het bestand het kleurprofiel gaan gebruiken wat door de software zelf als standaard wordt beschouwd en dat is dus het kleurprofiel genoemd onder het menu Edit, Color Settings.

Waar werk je mee?

Nu je dit allemaal weet wil je misschien snel kunnen zien met welke kleurruimte je werkt wanneer je een bestand opent. In ieder bestand kan immers een ander kleurprofiel vermeld staan.

Zodra je een bestand in Photoshop hebt geopend, zie je in het kader helemaal beneden in Photoshop informatie staan. Je ziet daar bijvoorbeeld het percentage staan van de vergroting. Daar staat ook iets naast. Wat je daar ziet kun je zelf bepalen door op de pijlpunt te klikken. Kies hier voor “Document Profile” zodat je daar de gebruikte kleurruimte kunt bekijken.

Wanneer als Document Profile iets als “Untagged RGB” wordt genoemd, dan betekent dit dat het bestand niet ‘getagd’ is. Er hangt dus geen etiketje aan. Dit betekent dat er geen kleurprofiel in is vermeld. Het standaard kleurprofiel van Photoshop wordt daardoor gebruikt.

Een kleurprofiel toekennen of veranderen

Aan een untagged bestand een kleurprofiel toekennen, is eenvoudig. Ga hiervoor naar het menu Edit, Assign Profile. Let wel op, bij het toewijzen van een kleurprofiel vindt geen conversie plaats. Je geeft alleen aan welk kleurprofiel voor dit bestand gebruikt moet worden. Ken je daarom het verkeerde kleurprofiel toe, dan zullen de kleuren na exporteren niet goed vertoond worden.

Maar de kleuren gaan hierbij niet verloren. Er worden immers geen kleuren bewaard, maar RGB waarden. Mocht het je overkomen dat je het verkeerde kleurprofiel hebt toegekend, dan ken je daarna gewoon alsnog het juiste kleurprofiel toe. De RGB waarden zullen daardoor wel goed worden geïnterpreteerd en daarmee is het probleem verholpen.

Heb je een bestand dat is opgeslagen met een bepaald kleurprofiel maar wil je deze converteren naar een ander kleurprofiel, dan kies je voor Edit, Convert to Profile. Hierbij worden de RGB waarden wel omgezet (geconverteerd) naar andere RGB waarden zodat hiermee dezelfde kleur, of een kleur die daar het meeste op lijkt, in het nieuwe kleurprofiel wordt beschreven.

Terug naar het probleem

Je had een bestand aangepast en toen je het had opgeslagen en opnieuw ingelezen waren kleuren verdwenen. Maar in werkelijkheid zijn de kleuren misschien niet verdwenen omdat het bestand als “Untagged” was opgeslagen en bij het bekijken van het geëxporteerde jpg-bestand werd het sRGB kleurprofiel gebruikt terwijl dat AdobeRGB had moeten zijn.

Ook kan het zijn dat je een AdobeRGB bestand hebt gemaakt en dat het device waarmee je het bestand bekijkt daar niet mee uit de voeten kan. Of je hebt een jpg geëxporteerd waarvoor je sRGB als kleurprofiel hebt gebruikt zodat conversie plaats heeft gevonden en waardoor je kleuren kwijt bent geraakt.

De oplossing

Kijk even naar het kleurprofiel van het bestand. Is het “Untagged”, voeg dan met Edit, Assign Profile het juiste kleurprofiel toe aan het bestand.

Wordt een kleurprofiel genoemd welke niet ondersteund wordt door de monitor, converteer die dan naar een wel gebruikt kleurprofiel met Edit, Covert to Profile.

Onderzoek of er automatisch een conversie plaatsvindt naar een ander kleurprofiel. Je kunt ook kiezen voor de menuoptie File, Export, Export as. Gebruik je dit, dan verschijnt het dialoogvenster zoals je deze in afb 5 ziet. Hierin bepaal je niet alleen naar welk formaat (bijvoorbeeld jpg) je het bestand wilt wegschrijven, maar ook naar welk kleurprofiel geconverteerd moet worden en heb je de mogelijkheid om het kleurprofiel te laten vermelden in het bestand.

Eerst testen?

Je wilt natuurlijk niet het proces van conversie in zonder vooraf te weten wat het resultaat zal zijn. En dat kan heel eenvoudig!

Stel je hebt een bestand met het AdobeRGB kleurprofiel ingelezen in Photoshop en je zou willen zien hoe dit er uit zou komen te zien wanneer het naar sRGB zou zijn geconverteerd. Kies dan voor het menu View, Proof Setup en zorg dat “Internet Standard RGB (sRGB)” aangevinkt staat. Door nu op Ctrl+Y te drukken schakel je tussen de looks van beide kleurprofielen. Super handig!

Nog een tip?

Is het werk dat je maakt vaak bedoeld voor een bepaalde omgeving, zoals foto's voor een webshop, dan heb je er misschien baat bij wanneer ingelezen foto's automatisch naar het desbetreffende (hier sRGB) kleurprofiel worden geconverteerd. 

In afb 3 wordt het dialoogvenster getoond dat je krijgt via het menu Edit, Color Setings. Hiermee kun je dit regelen. Onder "Color Management Policies" kies je dan achter RGB voor "Convert to working RGB". Het "working RGB" wordt opgegeven achter in de "Working Spaces" sectie achter RGB. 

Tot slot

Met de kennis en mogelijkheden zoals in dit artikel beschreven zou het niet meer mis hoeven te gaan! Vaak is het voldoende om een kleurprofiel toe te kennen, soms moet het gebruikte kleurprofiel worden geconverteerd. Als we over een lange tijd het gehele zichtbare spectrum technisch kunnen registeren en verwerken in de devices die we dan tot onze beschikking zullen hebben, dan zal dit allemaal overbodig zijn en beschouwd worden zoals velen nu zijn gaan kijken naar donkere kamers en filmrolletjes. 

Afb 1: Na exporteren blijken de kleuren te zijn aangepast
afb 2: Het zichtbare spectrum met daarin twee kleurruimtes
Afb 3: Het standaard kleurprofiel van Photoshop
Afb 4: Het scherm voor het aanmaken van een nieuw bestand
Afb 5: Exporteren op een andere manier