Saltar al contenido

Fórmula para determinar el brillo del color RGB

Este tutorial ha sido aprobado por expertos así se garantiza la veracidad de nuestra esta sección.

Solución:

El método puede variar dependiendo de sus necesidades. Aquí hay 3 formas de calcular la luminancia:

  • Luminancia (estándar para ciertos espacios de color): (0.2126*R + 0.7152*G + 0.0722*B) fuente
    imagen

  • Luminancia (opción percibida 1): (0.299*R + 0.587*G + 0.114*B) fuente
    imagen

  • Luminancia (opción percibida 2, más lenta de calcular): sqrt( 0.241*R^2 + 0.691*G^2 + 0.068*B^2 )sqrt( 0.299*R^2 + 0.587*G^2 + 0.114*B^2 ) (gracias a @MatthewHerbst) fuente
    imagen

[Edit: added examples using named css colors sorted with each method.]

Creo que lo que está buscando es la fórmula de conversión RGB -> Luma.

Fotométrico/digital ITU BT.709:

Y = 0.2126 R + 0.7152 G + 0.0722 B

Digital ITU BT.601 (da más peso a los componentes R y B):

Y = 0.299 R + 0.587 G + 0.114 B

Si está dispuesto a cambiar la precisión por el rendimiento, hay dos fórmulas de aproximación para esta:

Y = 0.33 R + 0.5 G + 0.16 B

Y = 0.375 R + 0.5 G + 0.125 B

Estos se pueden calcular rápidamente como

Y = (R+R+B+G+G+G)/6

Y = (R+R+R+B+G+G+G+G)>>3

He hecho una comparación de los tres algoritmos en la respuesta aceptada. Generé colores en ciclo donde solo se usó cada 400 colores. Cada color está representado por 2×2 píxeles, los colores se ordenan de más oscuro a más claro (de izquierda a derecha, de arriba a abajo).

1.ª imagen – Luminancia (relativa)

0.2126 * R + 0.7152 * G + 0.0722 * B

Segunda imagen – http://www.w3.org/TR/AERT#color-contrast

0.299 * R + 0.587 * G + 0.114 * B

3ra imagen – Modelo de color HSP

sqrt(0.299 * R^2 + 0.587 * G^2 + 0.114 * B^2)

Cuarta imagen: fórmula de relación de contraste y luminancia relativa de WCAG 2.0 SC 1.4.3 (consulte la respuesta de @Synchro aquí)

El patrón a veces se puede ver en la primera y segunda imagen dependiendo de la cantidad de colores en una fila. Nunca vi ningún patrón en la imagen del tercer o cuarto algoritmo.

Si tuviera que elegir, elegiría el algoritmo número 3, ya que es mucho más fácil de implementar y aproximadamente un 33 % más rápido que el cuarto.

Comparación de algoritmos de brillo percibido

Te mostramos las comentarios y valoraciones de los usuarios

Si piensas que te ha resultado de ayuda nuestro post, sería de mucha ayuda si lo compartes con otros juniors y nos ayudes a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *