Si se muestra una imagen RGB de 24 bits con un rango de 0-255 por canal en un televisor que muestra un rango de aprox. 16-235 por canal, se perderán detalles de color, ¿correcto?
Si es así, ¿las imágenes deben procesarse previamente para almacenar solo un rango válido? Me gustaría hacer esto con código, no en una aplicación de edición de imágenes. Recuerdo vagamente haber leído que un mapeo lineal no es la mejor manera de hacer esto, pero desafortunadamente no puedo localizar el artículo que estaba leyendo. ¿Cómo se llama este proceso? ¿Qué otros detalles necesito saber?
El mapeo lineal probablemente no sea la mejor solución (lo cual creo que implica convertir su RGB a un espacio de color CIE , escalar allí y volver a convertir), pero es muy fácil de implementar, y la diferencia de rango es lo suficientemente pequeña, probablemente no importará .
Si usa SOIL , puede hacerlo automáticamente al cargar la imagen, pasando SOIL_FLAG_NTSC_SAFE_RGB a las funciones de carga.
La documentación de Microsoft dice que sujete, y recomienda hacerlo en un sombreador de píxeles. (La escala lineal también debería ser fácil en uno). También menciona el arrastre de croma, que en mi experiencia es un fenómeno mucho más molesto cuando se trabaja en pantallas de TV.
fuente