tryby mieszania
Tryby mieszania decydują, jak wejście i wyjście modułu zostaną połączone (zmieszane), zanim ostateczne wyjście modułu zostanie przekazane do kolejnego modułu w kolejce przetwarzania.
Klasyczne tryby mieszania, zaprojektowane dla ekranocentrycznego RGB (i ograniczone pomiędzy 0 i 100%), definiują w swoich algorytmach punkt podparcia jako 50% (szarość) i 100% (biel), w zależności od trybów mieszania. Ponieważ scenocentryczne RGB nie jest przedmiotem tych ograniczeń, punkty te muszą być wyraźnie określone przez użytkownika podczas jego operacji mieszania w scenocentrycznej przestrzeni barwnej RGB. Dodatkowy parametr punkt podparcia mieszania pojawia się, kiedy używasz jednego z tych trybów w tej przestrzeni barwnej. Efekt zależy od użytego operatora. Przykładowo wartości powyżej progu podparcia mogą zostać rozjaśnione, a wartości poniżej – zaciemnione (i na odwrót).
Ostateczne wyjście modułu obliczane jest na każdy piksel indywidualnie, w następujący sposób:
ostateczne_wyjście = (1.0 - krycie) * wejście_modułu + krycie * wyjście_zmieszane
gdzie wyjście_zmieszane
oznacza kombinację zdjęć wejściowego i wyjściowego, w zależności od trybu mieszania (p. poniżej), a krycie
oznacza przeliczoną dla każdego piksela kombinację parametrów maski i globalnego krycia. Krycie 0% przekazuje obraz identyczny do wejściowego obrazu modułu.
Przycisk „odwrócenia" zamienia role obrazów wejściowego i wyjściowego w obliczeniach poszczególnych pikseli.
ostateczne_wyjście = (1.0 - krycie) * wyjście_modułu + krycie * wejście_zmieszane
gdzie wejście_zmieszane
oznacza kombinację zdjęć wejściowego i wyjściowego, w zależności od trybu mieszania, gdzie odwołania do wyjścia i wejścia są zamienione miejscami. W „odwróconych" trybach mieszania, krycie 0% przekazuje obraz identyczny do wyjściowego obrazu modułu.
🔗tryby zwykłe
- zwykły
- Najczęściej używany tryb mieszania, tryb „zwykły" po prostu miesza wejście i wyjście w stopniu określonym przez parametr krycia. Ten tryb używany jest najczęściej do osłabienia siły działania modułu poprzez krycie. Korzystamy ze niego również często podczas selektywnego stosowania efektów modułu w maskach. Tryb znany jest również jako operator „ponad" (ang. over) w mieszaniu alpha Portera-Duffa (zob. alpha compositing (ang.))
- zwykły ograniczony
- tryb niedostępny w przestrzeni barwnej „RGB scena"
- Ten tryb mieszania jest podobny do zwykłego poza faktem, że dane wejściowe i wyjściowe są przycięte do określonego zakresu wartości min/maks. Wartości spoza zakresu są blokowane i nie przekazywane do kolejnych modułów. Pomaga to niekiedy w uniknięciu artefaktów. W większości przypadków (np. wysoko nasyconych, ekstremalnych światłach) lepiej jest pozwolić takim wartościom przejść dalej w ciągu obróbki, żeby obrobić je prawidłowo później. W takim przypadku lepiej jest skorzystać z trybu „zwykłego".
🔗tryby arytmetyczne
- suma
- Dodaje wartości pikseli dla obrazu wejściowego i wyjściowego, rozjaśniając wyjście. Piksele mieszane w przestrzeni „RGB: scena" będą mieć wartość wyjściową przemnożoną proporcjonalnie do wartości punktu podparcia mieszania.
- różnica
- Odejmuje wyjściową wartość piksela od wartości wejściowej. Mieszane w przestrzeni „RGB (scena)" wartości pikseli dla obrazu wyjściowego mnożone są przez wartość proporcjonalną do punktu podparcia mieszania. Wartości pikseli mniejsze od zera ustawiane są na zero.
- mnożenie
- Mnoży wejściową i wyjściową wartość piksela. Piksele mieszane w ekranocentrycznych przestrzeniach barw mają wartość pomiędzy 0 a 1.0, wynikowe wyjście będzie więc obcięte i zawsze ciemniejsze. Mieszana w przestrzeni „RGB (scena)" wartość ta mnożona jest następnie przez wartość proporcjonalną do punktu podparcia mieszania. W takim przypadku wartości mogą być większe od 1.0, a przez to rozjaśniać bazowy obraz. Może to rodzić skutki uboczne, takie jak aktualizacja punktu bieli w module krzywej filmowej.
-
Tryb mieszania „mnożenie" symuluje działanie optycznego filtru połówkowego, którego intensywność definiowana jest wyjściem modułu. Ma wiele zastosowań, od poświaty i wzmocnień lokalnego kontrastu (kiedy używany z rozmyciem bądź filtrem dolnoprzepustowym) do rozjaśniania/wypalania i wzmocnień globalnego kontrastu (kiedy użyty jest z korektą ekspozycji). Punkt podparcia określa wyjściowy próg intensywności pomiędzy zaciemnianiem a rozjaśnianiem (każda wartość RGB poniżej punktu podparcia zaciemni piksel).
- dzielenie
- Dzieli wejściową wartość pikseli przez wartości wyjściowe. Wartości pikseli obrazu wyjściowego, mieszanych w przestrzeni “RGB (scena)”, są następnie mnożone przez wartość, proporcjonalną do punktu podparcia mieszania.
-
Ponieważ jest to tryb odwrotny do mnożenia, zaciemni on te obszary, które mnożenie rozjaśnia, i odwrotnie. Wszystko inne działa dokładnie tak samo.
- przesiewanie
- tryb niedostępny w przestrzeni “RGB (scena)”
- Zamienia wartości pikseli wejścia i wyjścia, mnoży je razem i odwraca wynik. Generuje to mniej więcej wynik odwrotny do trybu “mnożenia” – wynikowe zdjęcie jest na ogół jaśniejsze, a czasem “wyprane” z kolorów.
- średnia
- Zwraca średnią arytmetyczną wejściowych i wyjściowych wartości pikseli.
- rożnica
- Zwraca bezwzględną różnicę pomiędzy wejściową a wyjściową wartością piksela.
- średnia geometryczna
- Zwraca pierwiastek kwadratowy z iloczynu wartości pikseli wejścia i wyjścia.
- średnia harmoniczna
- Zwraca iloczyn wejściowych i wyjściowych wartości pikseli, pomnożony przez 2 i podzielony przez ich sumę.
🔗praca z kolorem
Poniższe tryby nie są dostępne w przestrzeni mieszania “RGB (scena)”, ponieważ zakładają one “50% środszarości”, które to założenie ma zastosowanie tylko dla nieliniowych bądź ekranocentrycznych przestrzeni barwnych.
- pokrywanie
- Ten tryb łączy tryby mieszania “mnożenie” i “przesiewanie”: te części wejścia, gdzie wyjście jest jaśniejsze, staną się jaśniejsze. Części zdjęcia, gdzie wyjście jest ciemniejsze, staną się ciemniejsze. Śródszarości pozostaną niezmienione. Tryb często łączony jest z modułami filtra dolno- i górnoprzepustowego.
- miękkie światło
- Tryb podobny do “pokrywania” poza tym, że wyniki są bardziej miękkie i mniej jasne. Podobnie jak pokrywanie, tryb często łączony jest z modułami filtra dolno- i górnoprzepustowego.
- twarde światło
- Ten tryb nie jest spokrewniony z “miękkim światłem” niczym poza nazwą. Podobnie jak tryb pokrywania, jest on kombinacją trybów “mnożenia” i “przesiewania”, mając inny wpływ powyżej i poniżej śródszarości. Efekty trybu twardego światła bywają dość intensywne, więc na ogół stosuje się go ze zredukowanym kryciem.
- światło jaskrawe
- Ten tryb to ekstremalna wersja pokrywania / miękkiego światła. Wartości ciemniejsze od śródszarości są przyciemniane; wartości jaśniejsze od śródszarości są rozjaśniane. Prawdopodobnie będziesz potrzebował zmniejszyć siłę efektu poprzez zmniejszenie krycia.
- światło liniowe
- Ten tryb jest podobny do efektu “światła jaskrawego”.
- światło punktowe
- Ten tryb wykonuje jednoczesne mieszanie przyciemnianiem i rozjaśnianiem, usuwając śródtony. Może to objawiać się artefaktami, takimi jak łatki czy kleksy.
🔗tryby pracy z kolorem
🔗kanały Lab
Poniższe tryby mieszania dostępne są tylko w przestrzeni Lab:
- jasność Lab
- Miesza jasność kanałów wejściowego i wyjściowego, biorąc kanały kolorów (a i b) niezmienione z obrazu wejściowego. Przeciwnie do “jasności”, ten tryb mieszania nie przeprowadza żadnej konwersji przestrzeni barwnej ani nie obcina danych. W niektórych przypadkach ten tryb mieszania jest mniej podatny na tworzenie artefaktów, niż “jasność”.
- Lab: kanał a
- Miesza kanał Lab “a” z wejściowego i wyjściowego kanału, pozostawiając pozostałe kolory niezmienione z obrazu wejściowego.
- Lab: kanał b
- Miesza kanał Lab “b” z wejściowego i wyjściowego kanału, pozostawiając pozostałe kolory niezmienione z obrazu wejściowego.
- kolor Lab
- Miesza kanały koloru Lab (a i b) z obrazów wejściowego i wyjściowego, pozostawiając jasność niezmienną z obrazu wejściowego. Przeciwnie do “koloru”, ten tryb mieszania nie przeprowadza żadnej konwersji przestrzeni barwnej ani nie obcina danych. W niektórych przypadkach ten tryb mieszania jest mniej podatny na tworzenie artefaktów, niż “kolor”.
🔗kanały RGB
Poniższe dostępne są tylko dla mieszania w przestrzeniach barwnych RGB.
- RGB: kanał czerwony
- Miesza czerwony kanał z obrazów wejściowego i wyjściowego, pozostawiając pozostałe kanały niezmienne z obrazu wejściowego. Mieszany w przestrzeni barwnej “RGB (scena)”, kanał czerwony z obrazu wyjściowego mnożony jest przez wartość, proporcjonalną do punktu podparcia.
- RGB: kanał zielony
- Miesza zielony kanał z obrazów wejściowego i wyjściowego, pozostawiając pozostałe kanały niezmienne z obrazu wejściowego. Mieszany w przestrzeni barwnej “RGB (scena)”, kanał zielony z obrazu wyjściowego mnożony jest przez wartość, proporcjonalną do punktu podparcia.
- RGB: kanał niebieski
- Miesza niebieski kanał z obrazów wejściowego i wyjściowego, pozostawiając pozostałe kanały niezmienne z obrazu wejściowego. Mieszany w przestrzeni barwnej “RGB (scena)”, kanał niebieski z obrazu wyjściowego mnożony jest przez wartość, proporcjonalną do punktu podparcia.
🔗kanały HSV
Poniższe dostępne są tylko dla mieszania w przestrzeniach barwnych RGB (wyświetlanie).
- jasność HSV
- Miesza jasność z obrazów wejściowego i wyjściowego, pozostawiając niezmieniony kolor z obrazu wejściowego. W przeciwieństwie do “jasności” ten tryb nie powoduje przycięcia.
- kolor HSV
- Miesza kolor z obrazów wejściowego i wyjściowego, pozostawiając niezmienioną jasność z obrazu wejściowego. W przeciwieństwie do “koloru” ten tryb nie powoduje przycięcia.
🔗inne
- jasność
- Miesza jasność z obrazów wejściowego i wyjściowego, pozostawiając niezmienionym kolor i odcień z obrazu wejściowego.
- chrominancja
- Miesza chrominancję z obrazów wejściowego i wyjściowego, pozostawiając jasność i odcień obrazu wejściowego. Tryb korzysta ze współczynników RGB, podzielonych przez normę euklidesową.
- rozjaśnianie
- niedostępny w przestrzeni barwnej “RGB (scena)”
- Porównuje wartości pikseli wejścia i wyjścia, zwracając jaśniejszą wartość.
- przyciemnianie
- niedostępny w przestrzeni barwnej “RGB (scena)”
- Porównuje wartości pikseli wejścia i wyjścia, zwracając ciemniejszą wartość.
- odcień
- niedostępny w przestrzeni barwnej “RGB (scena)”
- Miesza odcień z obrazów wejściowego i wyjściowego, pozostawiając niezmienione z wejściowego obrazu jasność i chrominancję.
- kolor
- niedostępny w przestrzeni barwnej “RGB (scena)”
- Miesza kolor i odcień z obrazów wejściowych i wyjściowych, pozostawiając bez zmian jasność z obrazu wejściowego.
-
Uwaga: Kiedy moduły mocno modyfikują kolor (np. generując kolory komplementarne), ten tryb może spowodować dziwny kolorowy szum.
- wyrównanie koloru
- niedostępny w przestrzeni barwnej “RGB (scena)”
- Niektóre moduły działają głównie na wartościach tonalnych obrazu, dostosowując przy tym nasycenie koloru (np. moduły poziomów oraz krzywej tonalnej). Ten tryb mieszania pobiera jasność z wyjścia modułu, a następnie miesza kolory z wejścia i wyjścia, umożliwiając kontrolę nad wyrównaniem koloru, dokonanym przez moduł.