Color Mapping

Kleuren bepalen voor een belangrijk deel de sfeer van een foto en wanneer we daarom de kleuren van een andere foto gebruiken voor een foto, dan brengen we een stukje van de sfeer van die foto over. Color mapping wordt dit genoemd.

Wat is color mapping?

Wanneer fotografen de kleuren van een foto gebruiken om een andere foto mee in te kleuren, wordt dit het ‘mappen’ van kleuren genoemd. In begrijpelijk Nederlands zouden we dit net zo goed een kleurenoverdracht kunnen noemen.

In essentie gebruik je bij color mapping de gebruikte kleuren van een foto voor een andere foto. Je kunt de kleuren in een foto ook veranderen door bijvoorbeeld een LUT (LookUp Table) file te gebruiken. Maar als een LUT-file wordt gebruikt, dan vindt de kleuraanpassing plaats door de gegevens in de LUT-file te gebruiken, niet omdat gekeken wordt naar een andere foto. Als het LUT-bestand echter is ontwikkeld op basis van de gegevens in een afbeelding, dan kunnen we natuurlijk wel spreken over een kleurenoverdracht van foto naar foto. Het LUT-bestand fungeert dan immers alleen als een tussenstation en dan is er dus ook gewoon sprake van color mapping.

Verschillende manieren

Om een kleurenoverdacht te kunnen laten plaatsvinden zal altijd gestart moeten worden met het uitvoeren van een analyse van de foto waar de kleuren vandaan moeten worden. Deze foto noemen we voor de leesbaarheid van dit artikel maar even de ‘source’. De foto die met de kleurenoverdracht aangepast moet worden, noemen we de ‘target’.

Ook de kleuren van de target zullen moeten worden geanalyseerd. Tijdens een goede color mapping worden immers niet willekeurig de kleuren van de pixels aangepast. Onderzocht moet worden welke pixels in de target door welke kleuren uit de source aangepast moet worden en ook in welke mate.

Histogram Matching

Door de kleurhistogrammen van de source en target op elkaar te leggen, kun je gaan werken met iets wat histogram matching wordt genoemd. Tijdens histogram matching worden de gegevens uit het histogram van de target vergeleken met die van de source en daarop aangepast.

Stel dat in het histogram voor rood in de source blijkt dat er geen rode pixels zijn met helderheid 0 tot 30, dan zal het algoritme voor de histogram matching tot de conclusie komen dat in de target ook geen rode pixels in dit gebied voor zouden moeten komen en de target aanpassen als dat wel het geval is.

Het voorbeeldje hierboven geeft natuurlijk een zeer versimpelde voorstelling van zaken weer van hoe histogram matching plaats zou vinden. Het algoritme is namelijk vele malen complexer. Het werkt in praktijk best goed, maar het houdt in de basis geen rekening met de rol die pixels innemen in de verschillende afbeeldingen.

Dit betekent dat histogram matching in deze vorm in een aantal gevallen kan leiden tot vreemd gekleurde targets omdat de histogram matching geen rekening houdt met wat er op de target te zien is. De eenvoudigste algoritmes voor histogram matching benaderen de foto namelijk als een verzameling pixels die onderling niets met elkaar te maken hebben.

Andere algoritmes

Het algoritme voor de klassieke histogram matching zoals hierboven beschreven is hierom al een aantal keer geoptimaliseerd waardoor inmiddels veel meer rekening wordt gehouden met de rol die de pixels innemen. Deze geoptimaliseerde algoritmes kunnen hierdoor in veel meer gevallen zorgen voor een goede kleurenoverdracht.

Toch zal het niet vreemd zijn om te horen dat ook bij deze geoptimaliseerde algoritmes de kleurenoverdracht tussen soortgelijke foto’s (bijvoorbeeld tussen twee portretfoto’s) vaker goede resultaten oplevert dan tussen foto’s die onderling sterk afwijkend zijn (bijvoorbeeld een portretfoto en een landschapsfoto).

Zelf kleuren veranderen

Als in Photoshop de functie Replace Color wordt geactiveerd via Image > Adjustments > Replace Color dan kan met het pipetje een kleur in de foto worden geselecteerd. In afb 1 hiernaast hebben we dit gedaan door hiermee de kleur van de lipstick te selecteren. Met de waarde voor Fuzziness (vaagheid) bepaal je welke bandbreedte gebruikt mag worden. Een lage waarde voor Fuzziness betekent dat de kleur sterk moet lijken op de gekozen kleur, een hogere waarde betekent dat de kleur daar in een zekere bandbreedte van af mag wijken. Wij hebben de waarde zoveel verhoogd dat de gehele lippen werken geselecteerd.

Onderin het scherm kunnen we met Hue (kleur), Saturation (kleurverzadiging) en Lightness (helderheid) de geselecteerde pixels wijzigen. Op die manier hebben we de lippen paars gemaakt (zie afb 2). Dit is misschien wel de meest eenvoudige wijze om een bepaalde kleur(-range) binnen een afbeelding te verkleuren, maar dit is geen color mapping. Bij color mapping wordt immers het kleurpallet van de source gebruikt voor de target. Hier veranderen we de kleur in de target in de kleur die we zelf wenselijk achten. Dat is dus echt iets anders.

Maar wat je goed aan deze functie kunt zien is hoe het principe van de kleuraanpassing werkt. Je zoekt een bepaalde kleur op en vervangt die door een andere. We hoeven voor color mapping dus alleen de juiste kleur van de source te vinden, de juiste kleur in de target te selecteren die aangepast moeten worden en dan de kleur veranderen. Nu we dit weten is het tijd om daadwerkelijk aan color mapping te beginnen!

Match Color

Wanneer we twee verschillende afbeeldingen in Photoshop inlezen en de target activeren, dan kunnen we met Image > Adjustments > Match Color aangeven welke afbeelding we als source wensen te beschouwen. Wie hebben als target hier afb 4 genomen. Als source kozen we afb 3. Mocht de source uit meerdere layers bestaan, dan is het mogelijk een specifieke layer daarbinnen aan te wijzen. In ons geval was dat niet zo. De Match Color functie zal nu op basis van histogram matching de target automatisch aanpassen op ongeveer dezelfde manier als Replace Color werkt. De te vervangen kleuren met bijbehorende bandbreedtes worden opgezocht en aangepast. Hierdoor kregen we afb 5.

Hierbij kun je gebruikmaken van een aantal instelmogelijkheden. Je kunt bijvoorbeeld met Fade opgeven in welke mate de kleuren van de source moeten overlopen in de originele kleuren van de target. Met Luminance geef je aan hoe je de helderheid verwerkt wilt zien en met Color Intensity hoe de intensiteit van de kleur moet worden, vergelijkbaar met de instelling voor de kleurverzadiging (Saturation).

Match Color Template

Wanneer je zelf een afbeelding maakt waarin verschillend gekleurde balken zijn opgenomen, dan kun je die natuurlijk ook als source gebruiken. Je hebt dan een eigen palet van gewenste kleuren gemaakt. Omdat je zelf de kleuren en het aantal verschillende kleuren kunt aangeven, kun je daarmee de meest uiteenlopende eigen templates maken voor color matching. Het is dan wel geen color mapping, maar het is een geweldig goed idee om dit te maken voor bijvoorbeeld skin toning!

Gradient Map

In het artikel over de Gradient Map Adjustment Layer lieten we je al zien hoe je met deze aanpassingslaag kleuren in een afbeelding kunt vertalen naar andere kleuren. Een soort complexe Replace Color functie dus. Bij Gradient Mapping wordt net als bij Replace Color niet gekeken naar een source afbeelding. Het werkt op basis van een gradient (verloop). In de gradient kunnen hiervoor verschillende kleuren worden opgenomen.

Er is een tal van gradients gratis te downloaden van het internet en te gebruiken voor dit doel. Je kunt deze echter ook zelf eenvoudig maken. Prima natuurlijk. Maar er zijn tools die je in staat stellen om in een source de kleuren te analyseren en deze om te laten zetten naar een gradient die op zijn beurt door de Gradient Map Adjustment Layer gebruikt kan worden. Hierdoor is er wel sprake van een echte kleurenoverdracht (color mapping). We hebben de kleuren van de source immers geanalyseerd en met behulp van een gradient overgezet naar de target. Een bekend product waarmee je dit kunt doen heet ColourMappingX van NBP.

De kleuren van afb 6 hebben we op die manier geanalyseerd. We hebben opgeven hoeveel kleuren we gesampled willen zien (zes in dit geval). Daarna hebben we de target geopend en ColorMapX aangegeven dat we op deze target de color mapping willen loslaten. In afb 7 is te zien dat ColorMapX hiervoor een Gradient Map Adjustment Layer heeft aangemaakt. Binnen deze Adjustment layer heeft ColorMapX een gradient met de gevonden kleuren aangemaakt. Daardoor ontstond afb 7. 

Conclusie

Met Color Mapping probeer je de kleuren van een foto te gebruiken binnen een andere foto. Dat kan op verschillende manieren die ieder hun eigen voor- en nadelen hebben. Wanneer de onderwerpen van beide foto’s meer met elkaar overeenkomen, dan zullen deze tools vaak betere resultaten opleveren.

Color mapping wordt niet alleen gebruikt om kleuren en daarmee sfeer over te zetten. Het wordt ook gebruikt om foto’s beter bij elkaar te laten passen wanneer de foto's bijvoorbeeld onderdeel zijn van een drieluik of ze naast elkaar in een folder worden geplaatst.

Om Color Mapping uit te voeren kun je de functie Color Match in Photoshop gebruiken. Er zijn echter ook andere tools die je kunt gebruiken om de kleuren van de source te analyseren en om laat zetten naar de target.

 

 

Afb 1: De uitgangsfoto voor Color Replace
Afb 2: De kleur van de lipstick met Color Replace veranderd
Afb 3: De 'source' waar de kleuren van worden gebruikt
Afb 4: De 'target' waarop de kleurenoverdracht moet plaatsvinden
Afb 5: Het resultaat van de color mapping
Afb 6: Analyse met behulp van ColorMapX
Afb 7: ColorMapX heeft een Gradient Map toegevoegd met een gekleurd verloop