Invoerafbeeldingen zijn RGB-bestanden (zoals JPEG’s of TIFF’s) of camera-RAW’s. Beide slaan visuele informatie op als een combinatie van primaire kleuren (bijv. rood, groen en blauw) die samen een lichtemissie beschrijven die door een scherm moet worden nagebootst.
De volgende afbeelding illustreert dit concept.
De linkerkant van de afbeelding toont een gekleurd licht dat we digitaal moeten weergeven. We kunnen drie ideale kleurenfilters gebruiken om dit licht te ontleden in drie gekleurde primaire lichten met verschillende intensiteiten. Om het originele gekleurde licht van onze ideale ontbinding (zoals geïllustreerd in het midden van de afbeelding) opnieuw te creëren, hoeven we alleen die drie primaire lichten opnieuw te combineren door ze op te tellen.
Het moet mogelijk zijn om het originele gekleurde licht te reproduceren door een set witte lichten met de juiste intensiteit te nemen en die lichten door geschikte gekleurde filters te projecteren. Dit experiment kan thuis worden uitgevoerd met gels en dimbare witte lampen. Dit is ongeveer wat oude kleuren CRT-schermen deden en zo werken videoprojectoren nog steeds.
In photography, the initial decomposition step is performed by the color filter array that sits on top of your camera’s sensor. This decomposition is not ideal, so it isn’t possible to precisely recreate the original emission with simple addition – some intermediate scaling is required to adjust the three intensities.
Op schermen worden de LED-lampen proportioneel gedimd aan elke intensiteit, en de emissies van de drie lampen worden fysiek toegevoegd om de oorspronkelijke emissie te reconstrueren. Digitale afbeeldingen slaan de intensiteiten van deze primaire lichten op als een set van drie getallen voor elke pixel, weergegeven aan de rechterkant van de bovenstaande afbeelding als grijstinten.
While a set of display intensities can be easily combined to recreate an original light on a screen (for example, if we created a synthetic image in-computer) the set of captured intensities from a sensor needs some scaling in order for the on-screen light addition to reasonably reproduce the original light emission. This means that every set of intensities, expressed as an RGB set, must be linked to a set of filters (or primary LED colors) that define a color space – any RGB set only makes sense with reference to a color space.
We moeten niet alleen de vastgelegde intensiteiten temperen om ze weer optelbaar te maken, maar als we het oorspronkelijke licht opnieuw willen samenstellen op een scherm dat niet dezelfde gekleurde filters of primaire kleuren heeft als de ruimte waarin onze RGB-set thuishoort, moeten deze intensiteiten opnieuw worden geschaald om rekening te houden met de verschillende filters op het scherm. Het mechanisme voor deze schaal wordt beschreven in kleurprofielen, meestal opgeslagen in .icc
-bestanden.
Opmerking: Kleur is geen fysieke eigenschap van licht – het bestaat alleen in het menselijk brein, als een product van de ontbinding van een lichtemissie door de kegelcellen in het netvlies, in principe weer erg vergelijkbaar met het bovenstaande voorbeeld filteren. Een “RGB”-waarde moet worden opgevat als “lichtemissies gecodeerd op 3 kanalen verbonden met 3 primaire kleuren”, maar de primaire waarden zelf kunnen er anders uitzien dan wat mensen “rood”, “groen” of “blauw” zouden noemen.
De hier beschreven filters zijn overlappende banddoorlaatfilters. Omdat ze elkaar overlappen, zou het optellen ervan de energie van het oorspronkelijke spectrum niet behouden, dus (lang verhaal kort) we moeten ze naar beneden draaien met betrekking tot de reactie van de retinakegel
De meeste daadwerkelijke beeldverwerking van Ansel vindt plaats in een grote RGB “werkprofiel”-ruimte, waarbij sommige (meestal oudere) modules intern werken in de CIELab 1976-kleurruimte (vaak gewoon “Lab” genoemd). De uiteindelijke uitvoer van de beeldverwerkingspijplijn bevindt zich opnieuw in een RGB-ruimte die is gevormd voor ofwel de monitorweergave of het uitvoerbestand.
This process implies that the pixelpipe has two fixed color conversion steps: input color profile and output color profile. In addition there is the demosaic step for raw images, where the colors of each pixel are reconstructed by interpolation.
Elke module heeft een positie in de pixelpijp die aangeeft in welke kleurruimte de module leeft:
up to demosaic : The raw image information does not yet constitute an “image” but merely “data” about the light captured by the camera. Each pixel carries a single intensity for one primary color, and camera primaries are very different from primaries used in models of human vision. Bear in mind that some of the modules in this part of the pipe can also act on non-raw input images in RGB format (with full information on all three color channels).
between demosaic and input color profile : Image is in RGB format within the color space of the specific camera or input file.
between input color profile and output color profile : Image is in the color space defined by the selected working profile (linear Rec2020 RGB by default). As Ansel processes images in 4x32-bit floating point buffers, we can handle large working color spaces without risking banding or tonal breaks.
after output color profile : Image is in RGB format as defined by the selected display or output ICC profile.