Compreendendo os componentes Cb e Cr do espaço de cores YCbCr

11

Eu estou familiarizado com os espaços de cores aditivos (RGB), substractivos (CMYK) e HSV, mas um artigo que estou tentando entender atualmente opera no espaço de cores YCbCr para segmentação de imagem / definição de objeto.

Passei a maior parte da minha manhã procurando por algo que explicasse o YCbCr naturalmente, mas simplesmente não entendo. Eu tenho uma explicação agradável e intuitiva da idéia geral por trás desse espaço de cores aqui , e uma explicação de como ele é usado para codificação / compactação de imagem desses caras (tudo no photo.SE).

As fórmulas para calcular o YCbCr a partir do RGB estão prontamente acessíveis na wikipedia .

Eu tenho a motivação para essa representação, e o componente Y contém as informações mais importantes (para o olho humano) em escala de cinza sobre a imagem.

Entendi que Cb e Cr carregam informações sobre as cores e que (por causa da (in) sensibilidade do olho humano), elas podem ser compactadas sem uma perda visível de qualidade. Mas, o que cada um dos componentes de crominância realmente representa?

Como os autores do artigo mencionam que "as informações de crominância são fundamentais na definição de objetos" em sua abordagem, não consigo entender completamente o que estou lendo com o meu atual "Y é intensidade, Cb e Cr carregam de alguma forma as informações de cores". compreensão de YCbCr.

Estou procurando uma resposta na mesma linha "Cb é ..., enquanto Cr é ..." ou "se você imagina olhando através de / com XY, na verdade está olhando para o componente Cb ..." ou algum outra maneira que me ajudaria a entender as informações transportadas por cada um dos componentes separadamente, não apenas pelo fato de que elas, juntas, carregam informações de cores.

EDITAR

Deixe-me dar exemplos de explicações intuitivas para outros espaços de cores do tipo que estou procurando:

RGB : como brilhar uma lanterna colorida em uma parede preta: se você brilha com uma lanterna azul, vê um reflexo azul. Se você adicionar uma lanterna vermelha, ela mostrará um reflexo magenta, que é uma mistura de azul e vermelho.

CMYK : Como misturar aquarelas, você "adiciona às cores que a superfície reflete" (ou seja, subtrai a cor do fundo); portanto, se você misturar uma amarela com uma ciana, se refletirá em verde e, dessa forma, obterá uma cor verde.

HSV : as crianças pequenas são atraídas por objetos altamente saturados, e não brilhantes (valor). O componente Hue é o que "dá a cor", enquanto baixa saturação significa que a cor é "diluída" pelo branco. Mudança de valor torna a coisa toda mais clara ou mais escura.

Com essas definições, pude ter uma idéia intuitiva sobre o que significa uma representação de cores em cada espaço de cores, sem memorizar gráficos para cada uma delas.

Penélope
fonte

Respostas:

7

YUV (ou YCbCr) é como HSV, mas em coordenadas diferentes. (A diferença entre YUV e YCbCr é marginal - principalmente relacionada a fórmulas exatas).

O componente é o mesmo. pode ser visto como coordenadas polares e como cartesiano. é o ângulo e é o raio. Uma conversão aproximada seria:V(S,H)(U,V)HS

U=Scos(H)

V=Ssin(H)

Você pode ver este link para obter mais informações.

Outra coisa a acrescentar à sua lista de intuição:

A saturação é a pureza da cor do ponto de vista espectral . Por exemplo, um laser tem um espectro muito estreito, o que implica alta saturação.

Andrey Rubshtein
fonte
você pode adicionar a explicação da diferença entre YUV e YCbCr, por uma questão de integridade?
Penelope
@ Andy Rubshtein, se um laser tem alta saturação, o inverso é verdadeiro? Em outras palavras, se eu medir RGB e converter em HSV, a alta saturação implica que ele deve se originar de uma fonte coerente de laser? Obrigado.
24416 Frank
@Frank, não necessariamente um laser. Mas é difícil ter uma cor saturada com um amplo espectro, pois quanto maior, mais difícil é ter uma alta resposta em apenas um componente.
Andrey Rubshtein 14/02
@ Andrew Rubshtein, obrigado pela sua resposta. As unidades mks de intensidade de saturação são energia por unidade de tempo por unidade de área. . As unidades mks de fluência de energia de saturação são energia por unidade de área. onde pulsos de laser de estado sólido são longos, 10 a 50 ns (nanossegundos). A alta saturação com um espectro muito estreito implica que ele deve se originar de uma fonte coerente de laser?
24416 Frank
@Andrey Rubshein. Você está totalmente correto ... Acabei de descobrir que os LEDs emitem luz praticamente monocromática, assim como as lâmpadas de sódio de baixa pressão. Existem características distintivas dos ponteiros a laser coerentes que podem ser usadas para diferenciar os raios dos ponteiros a laser da imagem geral observada através de uma janela do cockpit de uma companhia aérea Boeing 737?
Frank
2

Não sei ao certo o que você quer dizer com "realmente" representa, pois nem RGB nem YUV representam a frequência de fótons ou as respostas típicas de haste / cone dos olhos humanos. Mas você pode ver como eles se parecem sintetizando alguns patches de cor YCrCb, como (1,1,0), (1, -1,0), (1,0,1), (1,0, - 1) etc.

Aqui está uma página da Wikipedia que inclui um gráfico:

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

ADICIONADO: RGB, e assim por diante, foram quase projetados (ou evoluídos) para corresponder a uma possível compreensão intuitiva humana da percepção (e os nomes das cores acabam sendo aprendidos culturalmente). O YUV é o oposto, projetado de tal maneira que o ruído na área UV (adicionado a uma sub-banda NTSC barulhenta) seria difícil de ver e, portanto, mais difícil de descrever. YCrCb é uma variação no mesmo mapeamento de cores. Portanto, não procure uma visão "intuitiva" existente, que pode não existir. Talvez crie o seu próprio "aprendendo" o gráfico e construindo algumas novas conexões neurais que podem não existir atualmente em seu cérebro (ou algo assim).

hotpaw2
fonte
Adicionei exemplos para outros espaços de cores do tipo que gostaria de obter para o YCbCr. Espero que isso torne mais claro o tipo de explicação que estou procurando.
Penelope #
0

Quando você entende HSV / HSB, não deve ser difícil entender YCbCr. O canal B no HSB corresponde ao chroma (chroma = saturação http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/) Você pode pegar uma imagem rgb e convertê-la em escala de cinza ou converter todos os canais do RGB em escala de cinza e eles os mesclam em um canal. Para simplificação, vamos ter pixels com 100% de vermelho, 100% de verde e 70% de azul. Você calculará a média ... (100 + 100 + 70) / 3 e obterá o valor 90%, o que significa 90% do brilho. Assim, em escala de cinza, é uma cor cinza muito clara. Agora, se quisermos expressar as cores originais em direção ao canal em escala de cinza, precisaremos de 3 fórmulas para cada cor (vermelho, verde, azul). Você calcularia a diferença de valor R vs escala de cinza, G vs escala de cinza e B vs escala de cinza. Isso precisaria de 4 canais (RGB + chroma). Mas podemos fazer o mesmo com 3 canais. Podemos fazer pequenas correções no canal verde. Vamos calcular a diferença para o canal verde. O verde original é 100%, o novo valor de verde convertido em cinza é de 90%. A diferença é de -10%. Então, vamos mudar os canais R e B deste pixel por essa diferença. Acabamos de corrigir a gama ou todos os canais. Os valores do canal verde serão os mesmos da imagem em escala de cinza. Portanto, não calculamos mais com o canal verde. O verde é "codificado" no canal croma Y .... O restante das cores (R, B) também é ajustado. R` = 90% do original ou 100% de Y porque R e B são iguais neste exemplo. O composto B tem diferença de + 20% em relação ao original, mas depois que foi alterado com correção gama, tem diferença de 30% em relação a Y. Para simplificá-lo ainda mais, é como a fórmula em que você precisa adicionar os três compostos. As diferenças que você obtém para vermelho e azul são Cb e Cr. Os caracteres dizem apenas que você comparou o canal azul ao canal croma e o canal vermelho ao canal Chromma. Portanto, Cb e Cr.

John Boe
fonte