Tryby mieszania
Tryby mieszania (alternatywnie tryby mieszania lub tryby mieszania ) w cyfrowej edycji obrazu i grafice komputerowej są używane do określenia, w jaki sposób dwie warstwy są ze sobą mieszane. Domyślnym trybem mieszania w większości aplikacji jest po prostu zasłonięcie dolnej warstwy przez pokrycie jej tym, co znajduje się w górnej warstwie (patrz Komponowanie alfa ); Ponieważ każdy piksel ma wartości liczbowe, istnieje również wiele innych sposobów łączenia dwóch warstw.
Większość programów do edycji grafiki , takich jak Adobe Photoshop i GIMP , pozwala użytkownikom modyfikować podstawowe tryby mieszania, na przykład poprzez zastosowanie różnych poziomów krycia górnej „warstwy”. Górna „warstwa” niekoniecznie jest warstwą w aplikacji; można go nakładać za pomocą narzędzia do malowania lub edycji. Górna „warstwa” jest również nazywana „warstwą mieszaną” i „warstwą aktywną”.
We wzorach pokazanych na tej stronie wartości mieszczą się w zakresie od 0,0 (czarny) do 1,0 (biały).
Normalny tryb mieszania
Jest to standardowy tryb mieszania, który wykorzystuje samą górną warstwę, bez mieszania jej kolorów z warstwą pod nią: [ potrzebny przykład ]
gdzie a jest wartością kanału koloru w dolnej warstwie, a b jest wartością odpowiedniego kanału w górnej warstwie. Wynik jest najczęściej łączony z dolną warstwą przy użyciu „prostego” (b nad a) kompozycji alfa (tworząc rzeczywistą formułę ), ale możliwe są inne operacje Portera-Duffa. Etap komponowania powoduje, że kształt górnej warstwy, zdefiniowany przez jej kanał alfa, pojawia się nad dolną warstwą.
Rozpuścić
Tryb rozpuszczania pobiera losowe piksele z obu warstw. Gdy krycie górnej warstwy jest większe niż krycie warstwy dolnej, większość pikseli jest pobierana z warstwy górnej, natomiast przy niskim kryciem większość pikseli jest pobierana z warstwy dolnej. nie jest używany żaden antyaliasing , więc zdjęcia mogą wyglądać na ziarniste i ostre.
Program Adobe Photoshop generuje pseudolosowy wzór ditheringu szumu podczas uruchamiania, przy czym każdemu pikselowi w dwuwymiarowej tablicy rastrowej przypisuje się wartość szarości (R=G=B) i wartość alfa równą 1 („włączony”). W miarę zmniejszania przezroczystości górnej warstwy wartość alfa niektórych szarych pikseli jest zmieniana z 1 na 0 („wyłączone”), w wyniku czego piksele obrazu odpowiadające pikselowi o wartości szarości w tablicy rastrowej są albo włączony (widoczny, nieprzezroczysty) lub wyłączony (niewidoczny, przezroczysty), bez stopniowania krycia.
Pomnóż i przejrzyj
Tryby mieszania Pomnóż i Ekran to podstawowe tryby mieszania służące odpowiednio do przyciemniania i rozjaśniania obrazów. Istnieje wiele ich kombinacji, takich jak Overlay, Soft Light ( patrz poniżej ), Vivid Light, Linear Light i Pin Light.
Zwielokrotniać
Tryb mieszania mnożenia pobiera wartości kanałów RGB od 0 do 1 dla każdego piksela w górnej warstwie i mnoży je z wartościami dla odpowiedniego piksela z dolnej warstwy. Gdziekolwiek warstwa była jaśniejsza niż czerń, kompozyt jest ciemniejszy; ponieważ każda wartość jest mniejsza niż 1, ich iloczyn będzie mniejszy niż każda wartość początkowa, która była większa od zera.
gdzie a to wartość warstwy bazowej, a b to wartość warstwy wierzchniej.
Ten tryb jest przemienny : wymiana dwóch warstw nie zmienia wyniku. Jeśli dwie warstwy zawierają ten sam obraz, tryb mieszania mnożenia odpowiada krzywej kwadratowej lub korekcji gamma z γ=2. Do edycji obrazu czasami wygodniej jest po prostu przejść do okna dialogowego Krzywe w oprogramowaniu, ponieważ zapewnia to większą elastyczność w kształtowaniu krzywych. Lub można użyć okna dialogowego Poziomy: środkowa liczba to zwykle 1/γ, więc można po prostu wpisać 0,5.
Jeśli jedna warstwa zawiera jednorodny kolor, na przykład kolor szary (0,8, 0,8, 0,8), tryb wielokrotnego mieszania odpowiada krzywej, która jest po prostu linią prostą. Jest to również równoważne z użyciem tej wartości szarości jako krycia podczas mieszania w „trybie normalnym” z czarną dolną warstwą.
Ekran
W trybie mieszania ekranu wartości pikseli w dwóch warstwach są odwracane, mnożone, a następnie ponownie odwracane. Rezultat jest przeciwieństwem Multiply: gdziekolwiek warstwa była ciemniejsza niż biel, kompozyt jest jaśniejszy.
gdzie a to wartość warstwy bazowej, a b to wartość warstwy wierzchniej.
Ten tryb jest przemienny : wymiana dwóch warstw nie zmienia wyniku. Jeśli jedna warstwa zawiera jednorodną szarość, tryb mieszania ekranu jest równoznaczny z użyciem tej wartości szarości jako krycia podczas mieszania w „trybie normalnym” z białą górną warstwą.
Narzuta
Nakładka łączy tryby mieszania Pomnóż i Ekran. Tam, gdzie warstwa podstawowa jest jasna, warstwa wierzchnia staje się jaśniejsza; tam, gdzie warstwa bazowa jest ciemna, wierzch staje się ciemniejszy; gdzie warstwa podstawowa jest średnio szara, górna część pozostaje nienaruszona. Nakładka z tym samym obrazem wygląda jak krzywa S.
gdzie a to wartość warstwy bazowej, a b to wartość warstwy wierzchniej.
W zależności od wartości a warstwy bazowej otrzymuje się interpolację liniową między czernią ( a = 0), warstwą wierzchnią ( a = 0,5) i bielą ( a = 1).
Ostre światło
Hard Light to także połączenie Multiply i Screen. Twarde światło wpływa na relacje warstwy mieszanej z warstwą podstawową w taki sam sposób, jak Nakładka wpływa na relacje warstwy podstawowej z warstwą mieszaną. Odwrotna zależność między nakładką a twardym światłem sprawia, że są to „tryby mieszania komutowanych”. [ potrzebne źródło ]
Miękkie światło
Miękkie światło jest najbliżej spokrewnione z nakładką i tylko z nazwy jest podobne do twardego światła. Zastosowanie czystej czerni lub bieli nie daje czystej czerni lub bieli. [ potrzebny przykład ]
Istnieje wiele różnych metod nakładania miękkiej mieszanki światła. Wszystkie smaki dają ten sam rezultat, gdy górna warstwa jest czysto czarna; to samo, gdy górna warstwa jest czysto neutralna szara. Smaki Photoshop i illusions.hu również dają ten sam rezultat, gdy górna warstwa jest czysto biała (różnice między tymi dwoma polegają na sposobie interpolacji między tymi 3 wynikami).
Te trzy wyniki pokrywają się z korekcją gamma dolnej warstwy z γ=2 (dla górnej czerni), niezmienioną dolną warstwą (lub, co to jest to samo, γ=1; dla górnej neutralnej szarości) i γ=0,5 (dla górnej białej ).
Formuła używana przez Photoshopa od 2012 roku ma nieciągłość lokalnego kontrastu, a inne formuły to korygują. Formuła Photoshopa to:
gdzie a to wartość warstwy bazowej, a b to wartość warstwy wierzchniej. W zależności od b otrzymuje się interpolację liniową między trzema poprawkami gamma: γ=2 (dla b =0), γ=1 (dla b =0,5) i γ=0,5 (dla b =1).
Formuła Pegtopa jest gładsza i koryguje nieciągłość [ potrzebne lepsze źródło ] przy b = 0,5:
Jest to interpolacja liniowa między trybami mieszania Pomnóż (dla a =0) i Screen (dla a =1). Można to również postrzegać jako interpolację liniową między korekcją gamma przy γ=2 (dla b =0), a pewną krzywą tonalną (dla b =1). (Ta ostatnia krzywa jest równoważna zastosowaniu γ=2 do negatywu obrazu).
Trzeci wzór zdefiniowany przez illusions.hu koryguje nieciągłość w inny sposób, dokonując korekcji gamma z γ w zależności od b :
Dla b = 0 nadal otrzymujemy γ = 2, dla b = 0,5 otrzymujemy γ = 1, dla b = 1 otrzymujemy γ = 0,5, ale nie jest to interpolacja liniowa między tymi 3 obrazami.
Formuła określona w ostatnich wersjach roboczych W3C dla SVG i Canvas jest matematycznie równoważna formule Photoshopa z niewielką odmianą, gdzie b≥0,5 i a≤0,25:
Gdzie:
Jest to również formuła używana przez Cairo i we wcześniejszej dokumentacji PDF .
Nadal jest to interpolacja liniowa między 3 obrazami dla b = 0, 0,5, 1. Ale teraz obraz dla b = 1 nie jest γ = 0,5, ale wynikiem krzywej tonalnej, która różni się od krzywej γ = 0,5 dla małych wartości a : podczas gdy korekcja gamma przy γ=0,5 może wielokrotnie zwiększyć wartość a , ta nowa krzywa ogranicza wzrost a o współczynnik 4.
Unikaj i pal
Dodge and burn zmieniają jasność zdjęć, inspirowane unikiem i spalaniem wykonywanym w ciemni. Unikanie rozjaśnia obraz, podczas gdy wypalanie go przyciemnia. Unikanie obrazu jest równoznaczne z wypalaniem jego negatywu (i odwrotnie).
-
Tryby unikania :
- Tryb mieszania ekranu odwraca obie warstwy, mnoży je, a następnie odwraca wynik.
- Tryb mieszania Color Dodge dzieli dolną warstwę przez odwróconą górną warstwę. Spowoduje to rozjaśnienie dolnej warstwy w zależności od wartości górnej warstwy: im jaśniejsza górna warstwa, tym bardziej jej kolor wpływa na dolną warstwę. Mieszanie dowolnego koloru z bielą daje biel. Mieszanie z czernią nie zmienia obrazu. Operacja nie jest odwracalna ze względu na możliwe obcinanie najjaśniejszych fragmentów. (Przycinanie odbywa się w tym samym obszarze, co w przypadku funkcji Linear Dodge .) Gdy górna warstwa zawiera jednorodny kolor, efekt ten jest równoważny zmianie punktu bieli na kolor odwrócony. Postrzegany kontrast wzrasta, gdy nie ma obcinania.
- Tryb mieszania Linear Dodge po prostu sumuje wartości w dwóch warstwach (znany również jako mieszanie addytywne ). Mieszanie z bielą daje biel. Mieszanie z czernią nie zmienia obrazu. Gdy górna warstwa zawiera jednolity kolor, efekt ten jest równoznaczny ze zmianą wyjściowego punktu czerni na ten kolor, a (wejściowego) punktu bieli na kolor odwrócony. Kontrast jest zmniejszany, gdy nie ma przycinania.
- Divide : To samo co „Color Dodge”, ale mieszanie z bielą nie zmienia obrazu.
-
Tryby nagrywania :
- Tryb Multiply po prostu mnoży każdy komponent w dwóch warstwach.
- Tryb Color Burn dzieli odwróconą dolną warstwę przez górną warstwę, a następnie odwraca wynik. Spowoduje to przyciemnienie górnej warstwy, zwiększając kontrast, aby odzwierciedlić kolor dolnej warstwy. Im ciemniejsza dolna warstwa, tym częściej używany jest jej kolor. Mieszanie z bielą nie daje żadnej różnicy. Gdy górna warstwa zawiera jednorodny kolor, efekt ten jest równoważny zmianie punktu czerni na kolor odwrócony. Operacja nie jest odwracalna ze względu na możliwe przycinanie cieni. Przycinanie odbywa się w tym samym obszarze, co w przypadku wypalania liniowego .
- Tryb Linear Burn sumuje wartość w dwóch warstwach i odejmuje 1. Jest to to samo, co odwrócenie każdej warstwy, dodanie ich do siebie (jak w trybie Linear Dodge), a następnie odwrócenie wyniku. Mieszanie z bielą pozostawia obraz niezmieniony.
- Żywe światło : ten tryb mieszania łączy funkcję Rozjaśnianie kolorów i Wypalanie kolorów (przeskalowane, aby neutralne kolory stały się średnio szare). Rozjaśnianie jest stosowane, gdy wartości w górnej warstwie są jaśniejsze niż środkowa szarość, a przepalanie dotyczy ciemniejszych wartości. Środkowa szarość to kolor neutralny. Gdy kolor górnej warstwy jest jaśniejszy, efektownie przesuwa punkt bieli dolnej warstwy w dół o dwukrotną różnicę; gdy jest ciemniejszy, czarny punkt przesuwa się w górę o podwójną różnicę. (Zwiększa to postrzegany kontrast).
- Liniowe światło : ten tryb mieszania łączy Liniowe unikanie i Liniowe wypalanie (przeskalowane w taki sposób, że kolory neutralne stają się średnio szare). Rozmycie jest stosowane, gdy wartość na górnej warstwie jest jaśniejsza niż średnia szarość, a przepalenie ma zastosowanie, gdy wartość na górnej warstwie jest ciemniejsza. Obliczenia upraszcza się do sumy dolnej warstwy i dwukrotności górnej warstwy, odejmij 1. Ten tryb zmniejsza kontrast.
- Odejmij: ten tryb mieszania sumuje wartości z dwóch warstw i odejmuje 1. W przeciwieństwie do wypalenia liniowego, mieszanie z bielą wpływa na obraz.
Proste tryby mieszania arytmetycznego
Dzielić
Ta mieszanka po prostu dzieli wartości pikseli jednej warstwy z drugą, ale jest przydatna do rozjaśniania zdjęć, jeśli kolor jest szary lub mniej. Przydaje się również do usuwania odcienia koloru ze zdjęcia. Jeśli utworzysz warstwę o kolorze odcienia, który chcesz usunąć — na przykład bladoniebieski, dla scen o zbyt chłodnej temperaturze barwowej — tryb dzielenia przywróci ten kolor do bieli w wynikowym kompozycie, ponieważ dowolna wartość zostanie podzielona sam w sobie jest równy 1,0 (biały).
Dodatek
Ten tryb mieszania po prostu dodaje wartości pikseli jednej warstwy do drugiej. W przypadku wartości powyżej 1 (w przypadku RGB) wyświetlany jest kolor biały. „ Liniowy unik ” daje ten sam efekt wizualny. Ponieważ to zawsze daje takie same lub jaśniejsze kolory niż wejście, jest również znane jako „plus jaśniejsze”. Wariant odejmuje 1 od wszystkich wartości końcowych, przy czym wartości poniżej 0 stają się czarne; ten tryb jest znany jako „plus ciemniejszy”.
Odejmować
Ten tryb mieszania po prostu odejmuje wartości pikseli jednej warstwy od drugiej. W przypadku wartości ujemnych wyświetlany jest kolor czarny. W niektórych aplikacjach, takich jak Krita , dostępna jest również opcja „odwrotne odejmowanie”.
Różnica
Różnica odejmuje dolną warstwę od górnej warstwy lub odwrotnie, aby zawsze uzyskać wartość nieujemną. Mieszanie z czernią nie powoduje żadnych zmian, ponieważ wartości dla wszystkich kolorów wynoszą 0. ( RGB dla czerni to (0,0,0).) Mieszanie z bielą powoduje odwrócenie obrazu.
Jednym z głównych narzędzi do tego jest proces edycji, kiedy można go użyć do sprawdzenia wyrównania obrazów o podobnej treści. Wykluczenie to bardzo podobny tryb mieszania z niższym kontrastem.
Tylko przyciemnij
Tylko przyciemnij tworzy piksel, który zachowuje najmniejsze komponenty pikseli pierwszego planu i tła. Jeśli piksel pierwszego planu ma składniki , a tło ma wynikowy piksel to:
Tylko jaśniej
Tylko rozjaśnienie ma działanie odwrotne do działania Tylko przyciemnienie . Wybiera maksimum każdego komponentu z pikseli pierwszego planu i tła. Wyrażenie matematyczne dla opcji Tylko rozjaśnianie to:
Tryby mieszania arytmetyki boolowskiej
Kilka aplikacji, takich jak Aviary's Peacock i KDE 's Krita, dostarcza boolowskich trybów mieszania arytmetycznego. Łączą one binarną ekspansję koloru szesnastkowego na każdym pikselu dwóch warstw za pomocą boolowskich bramek logicznych . Alfa górnej warstwy kontroluje interpolację między obrazem dolnej warstwy a połączonym obrazem.
Odcień, nasycenie i jasność
barwy , nasycenia , koloru i jasności programu Photoshop są oparte na przestrzeni kolorów z wymiarami barwy, nasycenia i jasności. Uwaga: ta przestrzeń różni się zarówno od HSL, jak i HSV, i tylko wymiar odcienia jest wspólny dla tych trzech. Zobacz artykuł, aby uzyskać szczegółowe informacje.
W przeciwieństwie do wszystkich opisanych powyżej trybów mieszania, które działają niezależnie na każdym kanale obrazu, w każdym z tych trybów niektóre wymiary są pobierane z dolnej warstwy, a pozostałe z górnej warstwy. Kolory, które kończą się poza gamą, są wprowadzane do środka poprzez mapowanie wzdłuż linii stałego odcienia i jasności. To sprawia, że operacje są nieodwracalne – po nałożeniu górnej warstwy w jednym z tych trybów mieszania, w niektórych przypadkach niemożliwe jest przywrócenie wyglądu oryginalnej (dolnej) warstwy, nawet poprzez nałożenie kopii dolnej warstwy w tym samym tryb mieszania powyżej obu.
- Tryb mieszania Hue zachowuje jasność i nasycenie dolnej warstwy, jednocześnie przyjmując odcień górnej warstwy.
- mieszania Nasycenie zachowuje jasność i odcień dolnej warstwy, jednocześnie przyjmując nasycenie górnej warstwy.
- Tryb mieszania kolorów zachowuje jasność dolnej warstwy, przyjmując odcień i nasycenie górnej warstwy.
- Tryb mieszania Luminosity zachowuje odcień i nasycenie dolnej warstwy, jednocześnie przyjmując jasność górnej warstwy.
Ponieważ te tryby mieszania są oparte na przestrzeni kolorów, która jest znacznie bliższa percepcyjnie wymiarom niż RGB, można ich używać do korygowania koloru obrazu bez zmiany postrzeganej jasności oraz do manipulowania kontrastem jasności bez zmiany odcienia lub nasycenia. Tryb Luminosity jest powszechnie używany do wyostrzania obrazu , ponieważ ludzki wzrok jest znacznie bardziej wrażliwy na drobny kontrast jasności niż na kontrast kolorów. (Patrz Kontrast (wizja) )
Niewielu edytorów innych niż Photoshop stosuje tę samą przestrzeń kolorów dla swoich odpowiedników tych trybów mieszania. Zamiast tego zazwyczaj opierają swoje tryby mieszania na HSV (alias HSB) lub HSL. Tryby mieszania oparte na HSV są zazwyczaj oznaczone jako barwa , nasycenie i jasność . Korzystanie z HSL lub HSV ma tę zaletę, że większość operacji staje się odwracalna (przynajmniej w teorii), ale ma tę wadę, że wymiary HSL i HSV nie są tak percepcyjnie istotne, jak wymiary przestrzeni używanej przez Photoshopa.
Związek z maskowaniem
Wynik zastosowania kilku z tych trybów zależy liniowo od poziomu pikseli górnej warstwy. W takich przypadkach, gdy górna warstwa jest czysto czarna, uzyskuje się pewne przekształcenie dolnej warstwy (która może być tylko czysto czarnym lub czysto białym obrazem). Kiedy górna warstwa jest czysto biała, otrzymujemy kolejną taką transformację. Pośrednie wartości szarości opisano powyżej przy użyciu suwaka krycia na drugim przekształceniu.
W takich przypadkach zastosowanie trybu mieszania jest równoznaczne z mieszaniem Normalnym :
- Zastosuj dwie transformacje do dolnych warstw;
- Użyj wyniku pierwszej transformacji jako nowej dolnej warstwy;
- Umieść wynik drugiej transformacji jako nową górną warstwę;
- Użyj początkowej górnej warstwy jako maski na nowej górnej warstwie.
(Zakłada to, że maska może być kolorowa, a jej kanały R, G, B niezależnie maskują kanały obrazu. Wiele programów do obróbki obrazu nie zezwala na takie maski; dla nich ta równoważność dotyczy tylko górnych warstw w skali szarości).
Różnice między mieszaniem warstw i narzędzi
Niektóre aplikacje umożliwiają użytkownikowi stosowanie trybów mieszania do narzędzi do malowania, takich jak narzędzie Pędzel w programie Photoshop lub dowolne narzędzia do malowania w GIMP. Gdy tryby mieszania są używane z tymi narzędziami, wynik jest obliczany na podstawie pikseli już istniejących w warstwie docelowej. Jeśli aktualnie nie istnieją żadne piksele, „malowane” piksele są tworzone tak, jak w normalnym trybie mieszania. Kolejne nakładające się pociągnięcia są następnie obliczane na podstawie trybu mieszania narzędzia, a wynik jest nakładany bezpośrednio na warstwę. Kluczowa różnica między mieszaniem narzędzi a mieszaniem warstw polega na tym, że generalnie nie można dostosować wyników mieszania narzędzi po wykonaniu pociągnięcia, z wyjątkiem cofnięcia się za pomocą polecenia Cofnij aplikacji; mieszanki warstw można regulować za pomocą krycia lub nawet przełączać, ponieważ są one nakładane dynamicznie między warstwami. Innymi słowy, narzędzia do malowania zmieniają piksele na warstwie; tryby mieszania zastosowane do dwóch warstw nie zmieniają żadnych pikseli, a jedynie wpływają na wynikowy obraz wizualny.
To rozróżnienie jest przydatne do tworzenia różnych efektów na pojedynczej warstwie, na przykład podczas stosowania technik dodge and burn, gdzie malowanie z niską przezroczystością w trybach rastra lub mnożenia pozwala użytkownikowi budować lub zmniejszać wyniki w bardziej organiczny sposób na pojedyncza warstwa.
Zobacz też
- Paul R. Dunn, „Wgląd w tryby mieszania programu Photoshop 7.0”
- „Matematyka Photoshopa z modułami cieniującymi GLSL”
- „Photoshop Blend Mode Math” zawiera kod C.
- Ron Bigelow, „Korzystanie z trybów mieszania w programie Photoshop – część I” , samouczek
- Podręcznik GIMP-a
- Tryby mieszania we Flashu
- Adobe Master przejrzystość i miesza plik pdf
- Tryby mieszania GIMP i Photoshop wizualnie wyjaśnione i porównane, część pierwsza , druga , trzecia i czwarta
- Demo JAVA dotyczące operatora mieszania obrazów , interaktywne demo łączenia obrazów oparte na języku JAVA
- Cała matematyka związana z komponowaniem w Photoshopie (w tym matematyka dotycząca używania alfa w złożonych kompozycjach, takich jak miękkie światło)
- Algorytm łączenia obrazów
Książki
- Photoshop Blending Modes Książka kucharska dla fotografów cyfrowych (John Beardsworth, O'Reilly 2005) — zewnętrzna
- Ukryta moc trybów mieszania w Adobe Photoshop (Scott Valentine, Adobe Press 20132) - Zewnętrzne