Estoy familiarizado con los espacios de colores aditivos (RGB), sustractivos (CMYK) y similares a HSV, pero un artículo Actualmente estoy tratando de entender las operaciones en el espacio de color YCbCr para la segmentación de imágenes / definición de objetos.
He pasado la mayor parte de mi mañana buscando algo que explique el YCbCr de forma natural, pero no lo entiendo. Obtuve una explicación agradable e intuitiva de la idea general detrás de este espacio de color aquí , y una explicación de cómo «se usa para la codificación / compresión de imágenes de estos chicos (todo en photo.SE).
Las fórmulas para calcular YCbCr a partir de RGB son fácilmente accesibles en wikipedia .
Obtuve la motivación para esta representación, obtuve que el componente Y contiene lo más importante (para el ojo humano ) información en escala de grises sobre la imagen.
Obtuve que Cb y Cr contienen información sobre los colores , y que (debido a la (in) sensibilidad del ojo humano), pueden comprimirse sin una pérdida visible de calidad. Pero, ¿qué representa realmente cada uno de los componentes de crominancia?
Como los autores del artículo mencionan que » La información de crominancia es primordial en la definición de objetos «en su enfoque, y no puedo entender completamente lo que estoy leyendo con mi» Y es intensidad, Cb y Cr llevan información de color de alguna manera «nivel de comprensión de YCbCr.
Estoy buscando una respuesta como «Cb es …, mientras que Cr es …» o «si se imagina mirando a través de / con XY, en realidad está mirando el componente Cb …» , o de alguna otra forma que me ayude a comprender la información contenida en cada uno de los componentes por separado, no solo que, juntos, contienen información de color.
EDITAR
Permítanme dar ejemplos de explicaciones intuitivas para otros espacios de color del tipo que estoy buscando:
RGB : como hacer brillar un destello de color luz en una pared negra: si brilla con una linterna azul, verá un reflejo azul. Si agrega una linterna roja, mostrará un reflejo magenta, que es una mezcla de azul y rojo.
CMYK : Al igual que mezclar acuarelas, «agrega a los colores que refleja la superficie», (es decir, resta color del fondo), así que si mezcla uno amarillo con uno cian, reflejará el verde y obtendrá un color verde.
HSV : los niños pequeños se sienten atraídos por objetos muy saturados, no brillantes (valor ). El componente Hue es lo que «da el color», mientras que la saturación baja significa que el color está «diluido» por el blanco. El cambio de valor hace que todo sea más brillante o más oscuro.
Con estas definiciones, he podido tener una idea intuitiva sobre lo que significa una representación de color en cada espacio de color, sin memorizar gráficos para cada uno .
Respuesta
YUV (o YCbCr) es como HSV, pero en diferentes coordenadas. (La diferencia entre YUV y YCbCr es marginal – principalmente relacionado con fórmulas exactas).
El componente $ V $ es el mismo. $ (S, H) $ se puede considerar como coordenadas polares y $ (U, V) $ como cartesiano. $ H $ es el ángulo y $ S $ es el radio. Una conversión aproximada sería:
$ U = S \ cdot \ cos (H) $
$ V = S \ cdot \ sin ( H) $
Puede ver este enlace para obtener más información rmación.
Otra cosa para agregar a su lista de intuiciones:
La saturación es cuán puro es el color desde el punto de vista espectral . Por ejemplo, un láser tiene un espectro muy estrecho, lo que implica una alta saturación.
Comentarios
- ¿Puede agregar la explicación de la diferencia entre YUV y YCbCr, en aras de la integridad?
- @Andrey Rubshtein, Si un láser tiene alta saturación, ¿es cierto lo contrario? En otras palabras, si mido RGB y convierto a HSV, ¿la alta saturación implica que debe originarse en una fuente láser coherente? Gracias.
- @Frank, no necesariamente un láser. Pero ‘ es difícil tener un color saturado con un espectro amplio, ya que cuanto más ancho es, más difícil es tener una respuesta alta en un solo componente.
- @Andrey Rubshtein, Gracias por tu respuesta. Las unidades mks de Intensidad de saturación son energía por unidad de tiempo por unidad de área. . Las unidades mks de fluencia de energía de saturación son energía por unidad de área.donde los pulsos de láser de estado sólido son largos, de 10 a 50 ns (nanosegundos). ¿La alta saturación con un espectro muy estrecho implica que debe originarse en una fuente de láser coherente?
- @Andrey Rubshein. Tiene toda la razón … Acabo de descubrir que los LED emiten luz que es bastante monocromática, al igual que las luces de sodio de baja presión. ¿Existen características distintivas de los punteros láser coherentes que se puedan usar para diferenciar los rayos del puntero láser de la imagen general observada a través de la ventana de la cabina de un avión Boeing 737?
Respuesta
No estoy seguro de lo que quiere decir con «realmente» representar, ya que ni RGB ni YUV representan la frecuencia de los fotones ni las respuestas típicas de la varilla / cono de los ojos humanos. Pero puede ver cómo se ven al sintetizar algunos parches de color YCrCb, como (1,1,0), (1, -1,0), (1,0,1), (1,0, – 1), etc.
Aquí «una página de Wikipedia que incluye un gráfico:
http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png
AÑADIDO: RGB, y tal, fueron casi diseñados (o evolucionados) para coincidir con una posible comprensión intuitiva humana de la percepción (y los nombres de los colores resultan ser aprendidos culturalmente). YUV es lo opuesto, diseñado de tal manera que el ruido en el área UV (agregado a una subbanda NTSC ruidosa) sería difícil de ver y, por lo tanto, más difícil de describir. YCrCb es una variación del mismo mapeo de color. Así que no busque un conocimiento «intuitivo», que puede no existir. Tal vez cree el suyo propio «aprendiendo» el gráfico y construyendo algunas conexiones neuronales nuevas que pueden no existir actualmente en su cerebro (o algo así).
Comentarios
- Agregué ejemplos para otros espacios de color del tipo que me gustaría obtener para YCbCr. Espero que esto aclare el tipo de explicación que ‘ estoy buscando.
Respuesta
Cuando comprenda HSV / HSB, no debería ser difícil comprender YCbCr. El canal B en HSB se corresponde con el croma (croma = saturación http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/ ). Puede tomar una imagen rgb y convertirla a escala de grises o puede convertir todos los canales de RGB a escala de grises y fusionarlos en un canal. Para simplificar, tengamos un píxel con 100% de rojo, 100% de verde y 70% de azul. Calcularás el promedio … (100 + 100 + 70) / 3 y obtendrás un valor de 90%, lo que significa 90% de brillo. . Entonces, en escala de grises es un color gris muy claro. Ahora, si quisiéramos expresar los colores originales hacia el canal de escala de grises, necesitaríamos 3 fórmulas para cada color (rojo, verde, azul). Calcularía la diferencia de valor R vs escala de grises, G vs escala de grises y B vs escala de grises. Esto necesitaría 4 canales (RGB + croma). Pero podemos hacer lo mismo con 3 canales. Podemos hacer una pequeña corrección al canal verde. Calculemos la diferencia con el canal verde. El verde original es 100%, el nuevo valor de verde convertido a gris es 90%. La diferencia es -10%. Así que cambiemos los canales R y B de este píxel por esta diferencia. Acabamos de hacer la corrección gamma o de todos los canales. Los valores del canal verde serán los mismos que para la imagen en escala de grises. Por lo tanto, ya no calculamos con el canal verde. El verde está «codificado «en el canal de croma Y … El resto de colores (R, B), también se ajusta. R` = 90% del original o 100% de Y porque R y B son iguales en este ejemplo. El compuesto B tiene diferencia + 20% hacia el original, pero después de que se cambió con corrección gamma, tiene diferencia + 30% hacia Y. Para simplificarlo aún más, es como una fórmula en la que necesitas sumar los tres compuestos. Las diferencias que obtienes para rojo y azul son Cb y Cr. Los personajes solo dicen que comparaste el canal azul con el canal cromático y el canal rojo con el canal cromático. Por lo tanto, Cb y Cr.