Jak interpretować poszczególne kolory na histogramie RGB?


15

Wiem, jak odczytać histogram Luminosity i pomyślałem, że umiem również odczytać histogram RGB, dopóki nie zobaczyłem następującego przykładu:

wprowadź opis zdjęcia tutaj

Histogram RGB pokazuje dokładnie te same 3 „spajki”. Co to jest? Mogę powiedzieć, że wszystkie pochodzą z tego samego źródła „nieba”, ale dlaczego nie znajdują się w tym samym poziomym miejscu?

Odpowiedzi:


17

Proste: kolor nieba składa się z połączenia wszystkich trzech kanałów. Gdyby był szary, byłyby równe ilości czerwieni, zieleni i niebieskiego. Ale tak nie jest - jest o wiele więcej niebieskiego, trochę mniej zielonego i bardzo mało czerwonego. Prawie tak:

rgb

Sprawdź, jak strzałki na suwaku mają dokładnie taki sam odsetek, jak wartości szczytowe na histogramie.

Jeśli umieścisz suwaki w tym samym miejscu ...

szary

... linie histogramu pokrywają się, ale kolor się zmienia ...

porównać

... do ciemnoszarego zamiast zielonego turkusu na przykładowym zdjęciu.


Oto reprezentacja cyfrowej formy tego pliku. Każdy piksel jest triadą (red,green,blue), więc piksel turkusowy jest reprezentowany jako ( 28,123,142). Ponieważ jest tylko tyle miejsca do pisania, robię to w bardzo niskiej rozdzielczości, ale powinieneś o tym pomyśleć. Tutaj wartości wynoszą od 0 do 255.

( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  (201,201,201)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)

To wygląda tak jak ta mała rzecz: próba

Nie mam tego samego oprogramowania, co Ty, ale załaduj je do swojego programu i spójrz na histogram. Histogram pokazuje graficzną reprezentację zliczeń każdego kanału na każdym poziomie. Powinieneś zobaczyć niewielką nierówność w środkowej prawej części reprezentującą szarą kropkę, a następnie skoki na 28 dla czerwonego, 123 dla zielonego i 142 dla niebieskiego. Oto jak to wygląda w oprogramowaniu, które mam:

histogram próbki

Obraz nie wygląda na bardzo czerwony i nie jest. Ale to, co jest czerwone, jest skupione w jednym kolorze, a to jest ogromny procent obrazu, więc dostajesz skok.

Jest to raczej techniczne narzędzie i chociaż może być bardzo przydatne, nie pokazuje ładnej percepcyjnej mapy kolorów na obrazie. To byłaby inna wizualizacja.

Coś, co może być bardziej podobne do tego, co chcesz, nazywa się „histogramem kolorów 3D”. Kolor inspektor Plugin dla ImageJ robi to, co robi to tylko w systemie Windows Program Przestrzeń kolorów , czy można korzystać z tej strony internetowej: http://3dhistogram.com - który właśnie odkrył i który wygląda całkiem ładne (i bez kłopotów), ale jest może bardziej fajne niż przydatne.


W dyskusji w komentarzach pod tą odpowiedzią ClarityForce zwraca uwagę na ładną implementację Hueogramów Hue w oprogramowaniu Tyler Neylon . Istnieje „tradycyjny” histogram, wykres kołowy i wersja łączona. Wersja łączona wygląda świetnie z wieloma prawdziwymi obrazami, ale nie jest tak imponująca z próbką obrazu księżyca wyciętą z tego opublikowanego w pytaniu. Oto histogram odcienia i wykres kołowy z tego:

histogram odcienia próbki księżycapróbka księżycowa odcień wykresu kołowego

I, dla zabawy, oto trzy rodzaje wykresów odcieni, które może zrobić dla Mona Lisa:

histogram Mona hue


Rozumiem, że kolor nieba jest mieszanką kanałów RGB i że w tym kolorze jest bardzo mało czerwieni. Jednak zgodnie z histogramem powinna być duża ilość czerwieni (kolec jest wysoki) i powinna być prawie czarna (kolec znajduje się po lewej stronie). Patrząc na zdjęcie, nadal nie widzę czegoś takiego i nadal nie rozumiem, jak interpretować histogram :(

2
@ClarityForce: spójrz na suwaki, które opublikowałem. Jest to bardzo duża ilość tego niemal czarny czerwony. Jest to składnik koloru turkusowego.
Proszę przeczytać Profil

Dziękuję za aktualizację! Czy jesteś pewien, że wyrównanie strzał nie jest zwykłym zbiegiem okoliczności? Pomyślałem, że pozioma pozycja na histogramie powinna reprezentować zakres tonalny lub jasność, a nie sam kolor. Jeśli tak jest naprawdę, powiedziałbym, że histogram RGB jest prawie bezużyteczny :(

1
Myślę, że widzę nieporozumienie ... nie myśl o kolcu jako o czerwonej „przyczyniającej się ciemności”, ale raczej o czerwonym, który nie przyczynia się zbytnio do jasności. Wysokość piku reprezentuje liczbę pikseli, w których czerwona wartość jest bardzo małą składową koloru. W przeciwieństwie do histogramu złożonego (luminancji), poszczególne kanały nie mówią wiele o ogólnej jasności, tylko proporcje kanałów kolorów rozmieszczonych w scenie. Może powiedzieć ci o przycinaniu poszczególnych kanałów i dużych przesunięciach kolorów, ale nie odzwierciedla bezpośrednio tonalności.

1
@mattdm Dzięki za link! Przypadkowo też znalazłem to: blog.zillabyte.com/color-as-data i to: blog.zillabyte.com/hue-histograms

4

Rozłożyłem twój obraz na kolory składowe w GIMP-u za pomocą Color | Komponenty | Rozkład, do modelu kolorów: RGB, z zaznaczoną opcją „Rozkład do warstw”. Kiedy patrzę na poszczególne warstwy, widzę to:

czerwona warstwa zielona warstwa niebieska warstwa

Wydaje mi się, że większość każdego „koloru” idzie na malowanie tła; czerwona warstwa sprawia, że ​​tło jest całkowicie czarne, dlatego kolec jest tak daleko po lewej stronie, a zielone i niebieskie warstwy są bardziej w połowie szarości. Ale ... to tylko przypuszczenie.

Bardziej interesujący histogram może wymagać usunięcia tła. Wybrałem tylko księżyc (rysując okrąg za pomocą narzędzia Elipsa), odwróciłem zaznaczenie (Wybierz | Odwróć), włączyłem przezroczystość obrazu za pomocą Warstwy | Przejrzystość | Dodaj kanał alfa, a następnie naciśnij klawisz Delete, aby usunąć całe tło. Teraz dostaję ten histogram księżyca:

rgb tylko na księżyc

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.