Zrozumienie składników Cb i Cr przestrzeni kolorów YCbCr


11

Znam addytywne (RGB), substraktywne (CMYK) i HSV-podobne przestrzenie kolorów, ale artykuł, który obecnie próbuję zrozumieć, dotyczy przestrzeni kolorów YCbCr do segmentacji obrazów / definicji obiektów.

Większość dnia spędziłem na szukaniu czegoś, co naturalnie wyjaśnia YCbCr, ale po prostu tego nie rozumiem. Mam ładne, intuicyjne wyjaśnienie ogólnej idei tej przestrzeni barw tutaj oraz wyjaśnienie, w jaki jest używany do kodowania / kompresji obrazu z tych facetów (wszystko na photo.SE).

Wzory do obliczania YCbCr z RGB są łatwo dostępne na wikipedii .

Dostałem motywację do tego przedstawienia, dostałem, że składnik Y zawiera najważniejsze (dla ludzkiego oka) informacje w skali szarości na temat obrazu.

Dostałem, że Cb i Cr niosą informacje o kolorach i że (ze względu na (nie) wrażliwość ludzkiego oka) można je skompresować bez widocznej utraty jakości. Ale co właściwie reprezentuje każdy ze składników chrominancji?

Jak autorzy artykułu wspominają, że „informacje o chrominancji mają nadrzędne znaczenie w definicji obiektów” w ich podejściu i nie mogę w pełni zrozumieć tego, co czytam z mojego obecnego „Y to intensywność, Cb i Cr w jakiś sposób przenoszą informacje o kolorze” zrozumienie YCbCr.

Szukam odpowiedzi w stylu „Cb to ..., podczas gdy Cr to ...” lub „jeśli wyobrażasz sobie przeglądanie / z XY, to tak naprawdę patrzysz na komponent Cb ...”, lub trochę inny sposób, który pomógłby mi zrozumieć informacje przenoszone przez każdy z elementów osobno, a nie tylko to, że razem niosą informacje o kolorze.

EDYTOWAĆ

Pozwól mi podać przykłady intuicyjnych wyjaśnień dla innych przestrzeni kolorów, których szukam:

RGB : Jak świecenie kolorowej latarki na czarnej ścianie: Jeśli świecisz niebieską latarką, zobaczysz niebieskie odbicie. Jeśli dodasz czerwoną latarkę, wyświetli ona purpurowe odbicie, które jest mieszaniną niebieskiego i czerwonego.

CMYK : Podobnie jak mieszanie akwareli, „dodajesz kolory, które odzwierciedla powierzchnia”, (tzn. Odejmuje kolor od tła), więc jeśli pomieszasz kolor żółty z cyjanowym, to jeśli odbije się na zielono, a tym samym uzyskasz kolor zielony.

HSV : Małe dzieci pociągają mocno nasycone przedmioty, a nie jasne (wartość). Składnik Barwa „nadaje kolor”, a niskie nasycenie oznacza, że ​​kolor „rozcieńcza” biel. Zmiana wartości sprawia, że ​​całość jest jaśniejsza lub ciemniejsza.

Dzięki tym definicjom mogłem intuicyjnie zrozumieć, co oznacza reprezentacja kolorów w każdej przestrzeni kolorów, bez zapamiętywania wykresów dla każdej z nich.

Odpowiedzi:


7

YUV (lub YCbCr) jest podobny do HSV, ale ma różne współrzędne. (Różnica między YUV i YCbCr jest marginalna - w większości związana z dokładnymi formułami).

The V składnik jest taki sam. (S,H) można traktować jako współrzędne biegunowe, oraz (U,V) jak kartezjan. H jest kątem i Sjest promieniem. Z grubsza konwersja byłaby:

U=Scos(H)

V=Ssin(H)

Możesz zobaczyć ten link, aby uzyskać więcej informacji.

Kolejna rzecz do dodania do listy intuicji:

Nasycenie to czystość koloru z widmowego punktu widzenia . Na przykład laser ma bardzo wąskie spektrum, co oznacza wysokie nasycenie.


czy możesz dodać wyjaśnienie różnicy między YUV i YCbCr, dla kompletności?
penelopa

@Andrey Rubshtein, jeśli laser ma wysokie nasycenie, czy odwrotność jest prawdziwa? Innymi słowy: jeśli zmierzę RGB i przekonwertuję na HSV, czy wysokie nasycenie oznacza, że ​​musi pochodzić ze spójnego źródła laserowego? Dziękuję Ci.
Frank

@Frank, niekoniecznie laser. Ale trudno jest nasycić kolor o szerokim spektrum, ponieważ im szerszy, tym trudniej jest uzyskać wysoką odpowiedź tylko w jednym elemencie.
Andrey Rubshtein

@Andrey Rubshtein, dziękuję za odpowiedź. Jednostki mks intensywności nasycenia to energia na jednostkę czasu na jednostkę powierzchni. . Mks jednostek fluencji energii nasycenia to energia na jednostkę powierzchni. gdzie impulsy lasera na ciele stałym są długie, od 10 do 50 ns (nanosekund). Czy wysokie nasycenie o bardzo wąskim spektrum oznacza, że ​​musi pochodzić ze spójnego źródła lasera?
Frank

@Andrey Rubshein. Masz całkowitą rację. Właśnie dowiedziałem się, że diody LED emitują światło, które jest prawie monochromatyczne, podobnie jak niskoprężne lampy sodowe. Czy istnieją wyróżniające cechy spójnych wskaźników laserowych, których można by użyć do odróżnienia wiązek wskaźnika laserowego od ogólnego obrazu obserwowanego przez okno kokpitu linii lotniczych Boeing 737?
Frank

2

Nie jestem pewien, co rozumiesz przez „faktycznie”, ponieważ ani RGB, ani YUV nie reprezentują ani częstotliwości fotonów, ani typowych reakcji pręcików / stożków ludzkich oczu. Ale możesz zobaczyć, jak wyglądają dla Ciebie, syntezując niektóre łaty kolorów YCrCb, takie jak (1,1,0), (1, -1,0), (1,0,1), (1,0, - 1) itp.

Oto strona Wikipedii, która zawiera wykres:

http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png

DODANO: RGB i takie zostały prawie zaprojektowane (lub ewoluowały), aby pasowały do ​​możliwego intuicyjnego zrozumienia percepcji przez człowieka (a nazwy kolorów okazują się być kulturowo wyuczone). YUV jest odwrotny, zaprojektowany w taki sposób, że szum w obszarze UV ​​(dodany do hałaśliwego podpasma NTSC) byłby trudny do zauważenia, a zatem trudniejszy do opisania. YCrCb jest odmianą tego samego odwzorowania kolorów. Nie szukaj więc „intuicyjnego” wglądu, który może nie istnieć. Być może utwórz własne, „ucząc się” wykresu i budując całkiem nowe połączenia neuronowe, które mogą nie istnieć w twoim mózgu (lub coś w tym rodzaju).


Dodałem przykłady innych przestrzeni kolorów typu, które chciałbym uzyskać dla YCbCr. Mam nadzieję, że dzięki temu wyjaśnienie, którego szukam, jest jaśniejsze.
penelopa,

0

Jeśli rozumiesz HSV / HSB, zrozumienie YCbCr nie powinno być trudne. Kanał B w HSB odpowiada barwie (barwa = nasycenie http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/). Możesz wziąć obraz rgb i przekonwertować go na skalę szarości lub możesz przekonwertować każdy kanał RGB na skalę szarości i scalić je w jeden kanał. Dla uproszczenia zastosujmy piksel ze 100% czerwonym, 100% zielonym i 70% niebieskim. Obliczysz średnią ... (100 + 100 + 70) / 3 i otrzymasz wartość 90%, co oznacza 90% jasności. Więc w skali szarości ma bardzo jasny szary kolor. Teraz, jeśli chcielibyśmy wyrazić oryginalne kolory w kierunku kanału w skali szarości, potrzebowalibyśmy 3 formuły dla każdego koloru (czerwony, zielony, niebieski). Można obliczyć różnicę wartości R w skali szarości, G w skali szarości i B w skali szarości. Wymagałoby to 4 kanałów (RGB + barwa). Ale możemy zrobić to samo z 3 kanałami. Możemy dokonać małej korekty zielonego kanału. Obliczmy różnicę do zielonego kanału. Oryginalna zieleń to 100%, nowa wartość zieleni zamienionej na szarą wynosi 90%. Różnica wynosi -10%. Zmieńmy więc kanały R i B tego piksela o tę różnicę. Właśnie zrobiliśmy korekcję gamma lub wszystkie kanały. Wartości kanału zielonego będą takie same jak dla obrazu w skali szarości. Nie liczymy już zielonego kanału. Zielony jest „zakodowany” w kanale barwy Y ... Reszta kolorów (R, B) również jest dostosowywana. R` = 90% oryginału lub 100% Y, ponieważ R i B są równe w tym przykładzie. Związek B ma różnicę + 20% w stosunku do oryginału, ale po zmianie za pomocą korekcji gamma ma różnicę + 30% w stosunku do Y. Aby uprościć to jeszcze bardziej, jest jak formuła, w której należy dodać wszystkie trzy związki. Różnice, które otrzymujesz dla czerwonego i niebieskiego, to Cb i Cr. Bohaterowie mówią tylko, że porównałeś kanał niebieski z kanałem chrominancji i kanał czerwony z kanałem chrommy. Stąd Cb i Cr.

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.