Mi pregunta original¿Por qué la escala de grises funciona de la manera que lo hace?
leí que para convertir un pixel RGB a RGB en escala de grises, se debe utilizar
r_new = g_new = b_new = r_old * 0.3 + g_old * 0.59 + b_old * 0.11
También leo y entiendo, que g
tiene una ponderación más alta debido a que el ojo humano es más sensible al verde Al implementar eso, vi que los resultados eran los mismos que obtendría al configurar una imagen en 'escala de grises' en un editor de imágenes como el Gimp.
Antes de leer esto, imaginé que para convertir un píxel a escala de grises, uno lo convertiría en HSL o HSV, luego establecería la saturación en cero (por lo tanto, eliminaría todo el color). Sin embargo, cuando hice esto, obtuve una salida de imagen bastante diferente, aunque también carecía de color.
¿Cómo se diferencia exactamente s = 0
de la forma "correcta" que leo, y por qué es "incorrecto"?
hallazgos en curso sobre la base de respuestas y otras investigaciones
Parece que el que luminancia coeficientes a utilizar es el tema de debate. Varias combinaciones y algoritmos de escala de grises tienen resultados diferentes. Los siguientes son algunos presets usados en áreas como los estándares de televisión:
- los coeficientes definidos por el UIT-R BT.601 (? NTSC) se
0.299r + 0.587g + 0.114b
- los coeficientes definidos por el UIT-R BT.709 (más reciente) son
0.2126r + 0.7152g + 0.0722b
- los coeficientes de tres partes iguales,
(1/3)(rgb)
, es equivalente as = 0
Este scientific article detalles en escala de grises diferentes técnicas y sus resultados para varias imágenes, además de una vigilancia subjetiva ey de 119 personas.
Sin embargo, al convertir una imagen a escala de grises, para lograr el "mejor" efecto artístico, casi seguro no se usarán estos coeficientes predefinidos, sino que se ajustará la contribución de cada canal para producir la mejor salida para la imagen particular.
+1 pregunta interesante – alex
Esto no es realmente una pregunta de programación, pero no estoy seguro de a qué sitio pertenece ... Realmente es una pregunta artística o científica. – derobert
Eso puede ser cierto, pero estoy haciendo esta pregunta en el contexto de escribir una función que realiza la conversión de escala de grises. –