przestrzenie barwne darktable

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.

Spectral decomposition of a light emission into 3 RGB intensities

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.

W fotografii początkowy etap dekompozycji wykonywany jest przez matrycę filtrów kolorów, która znajduje się na górze matrycy aparatu. Ten rozkład nie jest idealny, więc nie jest możliwe dokładne odtworzenie pierwotnej emisji za pomocą prostego dodawania — wymagane jest pewne pośrednie skalowanie, aby dostosować trzy intensywności.

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.

Podczas gdy zestaw wartości intensywności monitora można łatwo połączyć, aby odtworzyć oryginalne światło na ekranie (na przykład jeśli stworzyliśmy syntetyczny obraz w komputerze), zestaw intensywności przechwyconych z matrycy wymaga pewnego skalowania, aby wyświetlić obraz na monitorze z jego światłem własnym w celu rozsądnego odtworzenia oryginalnej emisji. Oznacza to, że każdy zestaw intensywności, wyrażony jako zestaw RGB, musi być połączony z zestawem filtrów (lub podstawowych kolorów LED), które definiują przestrzeń kolorów – każdy zestaw RGB ma sens tylko w odniesieniu do przestrzeni kolorów.

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 darktable 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.

Ten proces oznacza, że kolejka przetwarzania ma dwa stałe etapy konwersji kolorów: profil koloru wejściowego i profil koloru wyjściowego. Dodatkowo wprowadzamy również krok demozaikowania dla obrazów surowych, w którym kolory każdego piksela są rekonstruowane przez interpolację.

Każdy moduł zajmuje określone miejsce w kolejce przetwarzania, które mówi o przestrzeni kolorów, w której ten moduł operuje:

  • do demozaikowania : Surowe informacje o obrazie nie stanowią jeszcze „obrazu”, a jedynie „dane” o świetle uchwyconym przez kamerę. Każdy piksel ma jedną intensywność dla jednego koloru podstawowego, a barwy podstawowe aparatu bardzo różnią się od barw podstawowych, używanych w modelach ludzkiego wzroku. Należy pamiętać, że niektóre moduły w tej części kolejki mogą również działać na niesurowych obrazach wejściowych w formacie RGB (z pełną informacją o wszystkich trzech kanałach kolorów).

  • pomiędzy demozaikowaniem a profilem koloru wejściowego : Obraz jest w formacie RGB w przestrzeni kolorów określonego aparatu lub pliku wejściowego.

  • pomiędzy profilem koloru wejściowego a profilem koloru wyjściowego : Obraz przetwarzany jest w przestrzeni kolorów, zdefiniowanej przez wybrany profil roboczy (domyślnie liniowy Rec2020 RGB). Ponieważ darktable przetwarza obrazy w 4x32-bitowych buforach zmiennoprzecinkowych, możemy obsługiwać duże robocze przestrzenie kolorów bez ryzyka powstawania pasm lub przerw tonalnych.

  • po profilu koloru wyjściowego : Obraz przetwarzany jest w formacie RGB, określonym przez wybrany profil monitora lub profil ICC wyjścia.

translations