Obrazy wejściowe to albo pliki RGB (takie jak JPEG lub TIFF), albo pliki RAW z aparatu. Oba przechowują informacje wizualne jako kombinację podstawowych kolorów (np. czerwonego, zielonego i niebieskiego), które razem opisują emisję światła, która ma być odtworzona przez monitor.
Tę koncepcję ilustruje poniższe zdjęcie.
Lewa strona obrazu przedstawia kolorowe światło, które musimy przedstawić cyfrowo. Możemy użyć trzech idealnych filtrów kolorów, aby rozłożyć to światło na trzy kolorowe światła podstawowe o różnych natężeniach. Aby odtworzyć oryginalne kolorowe światło z naszego idealnego rozkładu (jak pokazano na środku obrazu), musimy po prostu ponownie połączyć te trzy podstawowe światła przez dodanie.
Możesz spróbować odtworzyć oryginalne kolorowe światło, biorąc zestaw białych świateł o odpowiednim natężeniu i przepuszczając je przez odpowiednio kolorowe filtry. Ten eksperyment można przeprowadzić w domu przy użyciu żeli i ściemnialnych białych żarówek. To mniej więcej to, co robiły stare kolorowe monitory CRT i tak nadal działają projektory wideo.
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.
Na monitorach żarówki LED są przyciemniane proporcjonalnie do każdego natężenia, a emisje trzech świateł są fizycznie dodawane, aby odtworzyć pierwotną emisję. Obrazy cyfrowe przechowują natężenia tych podstawowych świateł jako zestaw trzech liczb dla każdego piksela, przedstawionych po prawej stronie powyższego obrazu jako odcienie szarości.
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.
Nie tylko musimy złagodzić uchwycone intensywności, aby ponownie je zsumować, ale jeśli mamy ponownie skomponować oryginalne światło na wyświetlaczu, który nie ma tych samych kolorowych filtrów lub kolorów podstawowych, co przestrzeń, do której należy nasz zestaw RGB, to jeszcze te intensywności należy przeskalować, aby uwzględnić różne filtry na wyświetlaczu. Mechanizm tego skalowania jest opisany w profilach barwnych, zwykle przechowywanych w plikach .icc
.
Uwaga: Kolor nie jest fizyczną właściwością światła – powstaje tylko w ludzkim umyśle jako efekt dekompozycji emitowanego światła w komórkach czopków w siatkówce oka, bardzo podobnej co do zasady jak w powyższym przykładzie. Wartość „RGB” należy rozumieć jako „emisje światła zakodowane na trzech kanałach, podłączonych do trzech kolorów podstawowych”, ale same kolory podstawowe mogą wyglądać inaczej niż to, co ludzie nazwaliby „czerwonym”, „zielonym” lub „niebieskim”.
Opisane tutaj filtry są nakładającymi się filtrami pasmowoprzepustowymi. Ponieważ nakładają się na siebie, zsumowanie ich z powrotem nie zachowałoby energii oryginalnego widma, więc (krótko mówiąc) musimy je zmniejszyć w odniesieniu do odpowiedzi stożka siatkówki
Większość rzeczywistego przetwarzania obrazu przez Ansel odbywa się w dużej przestrzeni „profilu roboczego” RGB, a niektóre (w większości starsze) moduły pracują wewnętrznie w przestrzeni kolorów CIELab 1976 (często nazywanej po prostu „Lab”). Ostateczny wynik kolejki przetwarzania obrazu jest przetwarzany ponownie w przestrzeni RGB, ukształtowanej dla wyświetlacza monitora lub pliku wyjściowego.
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.
Każdy moduł zajmuje określone miejsce w kolejce przetwarzania, które mówi o przestrzeni kolorów, w której ten moduł operuje:
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.