Estou familiarizado com espaços de cores aditivos (RGB), substrativos (CMYK) e semelhantes a HSV, mas um artigo No momento, estou tentando entender a operação em YCbCr espaço de cores para segmentação de imagem / definição de objeto.
Passei a maior parte da manhã procurando algo que explicasse o YCbCr naturalmente, mas simplesmente não entendo. Recebi uma explicação intuitiva e agradável da ideia geral por trás desse espaço de cores aqui , e uma explicação de como é usado para codificação / compressão de imagens destes pessoal (tudo em photo.SE).
As fórmulas para calcular YCbCr de RGB estão prontamente acessíveis em wikipedia .
Obtive a motivação para esta representação, descobri que o componente Y contém o mais importante (para o olho humano ) informações em escala de cinza sobre a imagem.
Eu descobri que Cb e Cr carregam informações sobre as cores e que (devido à (in) sensibilidade do olho humano), eles podem ser compactado 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 primordiais na definição de objetos “em sua abordagem, e não consigo entender totalmente o que estou lendo com meu nível atual de compreensão de YCbCr” Y é intensidade, Cb e Cr carregam informações de cor de alguma forma.
Estou procurando uma resposta ao longo das linhas “Cb é …, enquanto Cr é …” ou “se você imaginar olhando através / com XY, você” está realmente olhando para o componente Cb … ” , ou de alguma outra forma que me ajudasse a entender as informações transportadas por cada um dos componentes separadamente, não apenas que eles, juntos, carregam informações sobre cores.
EDITAR
Deixe-me dar exemplos de explicações intuitivas para outros espaços de cores do tipo que estou procurando:
RGB : como um flash colorido luz em uma parede preta: Se você brilhar com uma lanterna azul, verá 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), então se você misturar uma cor amarela com uma ciano, ela refletirá o verde e, assim, você obterá uma cor verde.
HSV : as crianças são atraídas por objetos altamente saturados, não brilhantes (valor ) O componente Hue é o que “dá a cor”, enquanto a baixa saturação significa que a cor é “diluída” pelo branco. A mudança no valor torna tudo mais claro ou mais escuro.
Com essas definições, eu fui capaz de obter uma sensação intuitiva sobre o que significa uma representação de cor em cada espaço de cor, sem memorizar gráficos para cada um deles .
Resposta
YUV (ou YCbCr) é como HSV, mas em coordenadas diferentes. (A diferença entre YUV e YCbCr é marginal – principalmente relacionado a fórmulas exatas).
O componente $ V $ é o mesmo. $ (S, H) $ pode ser considerado como coordenadas polares e $ (U, V) $ como cartesiano. $ H $ é o ângulo e $ S $ é o raio. Uma conversão aproximada seria:
$ U = S \ cdot \ cos (H) $
$ V = S \ cdot \ sin ( H) $
Você pode ver este link para obter mais informações rmation.
Outra coisa a adicionar à sua lista de intuição:
Saturação é a pureza da cor do ponto de vista espectral . Por exemplo, um laser possui um espectro muito estreito, o que implica em alta saturação.
Comentários
- você pode adicionar a explicação da diferença entre YUV e YCbCr, por uma questão de integridade?
- @Andrey Rubshtein, Se um laser tem alta saturação, o inverso é verdadeiro? Em outras palavras, se eu medir RGB e converter para HSV, a alta saturação implica que ela deve se originar de uma fonte de laser coerente? Obrigado.
- @Frank, não necessariamente um laser. Mas é ‘ difícil ter uma cor saturada com amplo espectro, pois quanto mais amplo, mais difícil é ter uma alta resposta em apenas um componente.
- @Andrey Rubshtein, Obrigado por 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 os 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 de laser coerente?
- @Andrey Rubshein. Você está totalmente correto … Acabei de descobrir que os LEDs emitem luz quase monocromática, assim como as luzes de sódio de baixa pressão. Existem características distintivas de ponteiros laser coerentes que podem ser usados para distinguir os feixes de ponteiros laser da imagem geral observada através da janela da cabine de um Boeing 737 de avião?
Resposta
Não tenho certeza do que você entende por “realmente” representa, já que nem RGB nem YUV representam a frequência de fótons ou as respostas típicas de cones / cones de olhos humanos. Mas você pode ver como eles se parecem para você sintetizando alguns patches de cores YCrCb, como (1,1,0), (1, -1,0), (1,0,1), (1,0, – 1) etc.
Aqui, “uma página da Wikipedia que inclui um gráfico:
http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png
ADICIONADO: RGB, e outros semelhantes, 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). YUV é o oposto, projetado de forma que o ruído na área UV (adicionado a uma sub-banda NTSC ruidosa) seja difícil de ver e, portanto, mais difícil de descrever. YCrCb é uma variação no mesmo mapeamento de cores. Portanto, não procure um existente visão “intuitiva”, que pode não existir. Talvez crie o seu “aprendendo” o gráfico e construindo algumas novas conexões neurais que podem não existir atualmente em seu cérebro (ou algo parecido).
Comentários
- Adicionei exemplos para outros espaços de cores do tipo que gostaria de obter para YCbCr. Espero que isso torne o tipo de explicação que eu ‘ estou buscando mais claro.
Resposta
Quando você entende HSV / HSB, não deve ser difícil entender YCbCr. O canal B em HSB corresponde ao croma (chroma = saturation http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/ ). Você pode pegar a imagem rgb e convertê-la em tons de cinza ou pode converter todos os canais do RGB em tons de cinza e eles mesclá-los em um canal. Para simplificar, vamos ter pixel com 100% vermelho, 100% verde e 70% azul. Você calculará a média … (100 + 100 + 70) / 3 e você obterá o valor 90%, o que significa 90% de brilho . Portanto, em tons de cinza é cinza muito claro. Agora, se quisermos expressar as cores originais em direção ao canal da escala de cinza, precisaríamos de 3 fórmulas para cada cor (vermelho, verde, azul). Você calcularia a diferença de valor R vs grayscale, G vs grayscale e B vs grayscale. Isso precisaria de 4 canais (RGB + chroma). Mas podemos fazer o mesmo com 3 canais. Podemos fazer uma pequena correção para o canal verde. Vamos calcular a diferença para o canal verde. O verde original é 100%, o novo valor de verde convertido em cinza é 90%. A diferença é de -10%. Então, vamos mudar os canais R e B deste pixel por esta diferença. Acabamos de fazer a correção de gama ou todos os canais. Os valores do canal verde serão os mesmos da imagem em tons de cinza. Portanto, não calculamos mais com o canal verde. Verde é “codificado “no canal de 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 + 20% em relação ao original, mas depois de ser alterado com correção de gama tem diferença de + 30% em relação a Y. Para simplificar ainda mais, é como uma fórmula onde você precisa fazer a adição para todos os três compostos. para vermelho e azul são Cb e Cr. Os personagens apenas dizem que você comparou o canal Azul com o Canal croma e o canal Vermelho com o canal Chromma. Portanto, Cb e Cr.