Anuncio

Colapsar
No hay ningún anuncio todavía.

Espacio de color RGB: fórmula

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Avatar del visitante
    Respuesta de visistante
    Re: Espacio de color RGB: fórmula

    Escrito por SELENA Ver mensaje
    Hola buenas

    Estoy trabajando con valores de RGB y el programa GNUPLOt. Dicho programa utiliza la fórmula RGB (R,G,B) = 256*256*int(R) + 256*int(G) + int(B).
    ¿Alguien podría decirme si conoce el origen de esta fórmula? Es decir, ¿por qué es así? ¿Por qué es R el que se multiplica por 65536 y no B?
    Otra cosa que puedes hacer para salir de dudas es utilizar el programa GNUPLOT, y aplicar una pequeña modificación de la fórmula para experimentar que resultado obtienes, por ejemplo, pudieras utilizar:

    RGB (R,G,B) = 256*int(R) + 256*256*int(G) + int(B)

    ó

    RGB (R,G,B) = int(R) + 256*int(G) + 256*256*int(B)

    Saludos.

    Dejar un comentario:


  • Alriga
    ha respondido
    Re: Espacio de color RGB: fórmula

    Escrito por SELENA Ver mensaje
    Pero mi duda es la razón por la que es el parámetro R el que se multiplica por 65536 y no el B, por ejemplo. ¿Da igual o hay alguna razón?
    La razón es porque al sistema históricamente se le llama arbitrariamente RGB con la R al principio. Si se le hubiese llamado GRB sería la G la que se multiplica por y si inicialmente le hubiesen por ejemplo llamado BRG sería la B.

    Un posible motivo para que lo bautizasen en el orden RGB es que lo ordenasen de menor a mayor frecuencia: la frecuencia electromagnética del rojo es inferior a la del verde que es inferior a la del azul. Pero no deja de ser una arbitrariedad, si lo hubiesen ordenado por longitud de onda creciente se llamaría BGR

    Saludos.
    Última edición por Alriga; 01/03/2018, 14:56:07. Motivo: Ortografía

    Dejar un comentario:


  • SELENA
    ha respondido
    Re: Espacio de color RGB: fórmula

    Muchas gracias POD.
    Pero mi duda es la razón por la que es el parámetro R el que se multiplica por 65536 y no el B, por ejemplo. ¿Da igual o hay alguna razón? Es para una investigación y necesito justificar la ecuación.

    Un saludo

    Dejar un comentario:


  • Alriga
    ha respondido
    Re: Espacio de color RGB: fórmula

    Hola SELENA, bienvenida a La web de Física, por favor como miembro reciente lee atentamente Consejos para conseguir ayuda de forma efectiva

    Escrito por pod Ver mensaje
    Tiene que ver con la forma que interpretan los números internamente los ordenadores. Como seguramente sabes, utilizan código binario. Cada componente del color es un byte (8bits). Por lo tanto, un color completo son tres bytes. Es decir, 24 dígitos binarios.

    La codificación binaria tiene la particularidad que cada vez que multiplicas por una potencia de 2, como ), es equivalente a añadir ceros a la derecha. Esto es lo mismo que pasa cuando multiplicamos un número decimal por una potencia de 10. Fíjate que . Así que multiplicar por 256 lo que hace es añadir 8 ceros a la derecha del número binario. Obviamente, multiplicar dos veces (o, lo que es lo mismo, multiplicar una vez por 65536) tiene el efecto de añadir 16 ceros a la derecha.

    Al final, lo que consigues con la fórmula que has puesto es generar en la memoria del ordenador un entero que ocupa 24 bits (3 bytes). Los primeros ocho bitscorresponden a la componente R, los ocho intermedios a la G y los últimos ocho a la B.

    Un ejemplo: El color (r,g,b) = (22, 232, 186) es una especie de verde azuloso. Convertido a binario (lo puedes hacer con cualquier calculadora, o incluso en el propio google), las componentes son


    La fórmula que tu has puesto arroja el resultado


    Fíjate que convertir esto a binario nos da el siguiente resultado



    No sé si así queda suficientemente claro. Quizá te sirva un ejemplo decimal. Si quisiéramos montar un único numero entero juntando los dígitos de las tres componentes, tendrías que multiplicar por una potencia de 10. Como los colores tienen 3 dígitos, será . Eso te daría


    Pues esto es lo mismo, pero se utiliza porque esos números ocupan 8 dígitos binarios.

    Fíjate que no es tan importante el número de valores diferentes, sino la cantidad de dígitos que quieres reservar.
    Escrito por Maq77 Ver mensaje
    Cada uno de los tres colores primarios, Rojo, Verde y Azul, se pueden mover en un rango de valores de intensidad que van desde 0 hasta 255, o sea, pueden obtener 256 valores diferentes, en la combinación de los tres es irrelevante el orden por el cual inicies, lo importante es que cuentes cada posible combinación una sola vez, es por eso que en teoría puedes generar una paleta de 16.777.216 colores diferentes, pasando desde el Negro (R=0;G=0;B=0) hasta el Blanco en (R=255;G=255;B=255).

    El uso de esos tres colores viene más que todo por la teoría del Color, puedes revisar información sobre los círculos cromáticos y la generación de los diferentes colores a través de la combinación de los colores primarios, recuerda también que los colores se pueden generar por adición o por sustracción, en el caso de los monitores los coleres se crean por adición utilizando para ello al Rojo, Verde y Azul como colores primarios.
    Aparte de lo que te explican pod y Maq77, he visto una web en la que puedes "jugar" con diversos valores aquí: RGB Color Codes Chart

    Saludos.
    Última edición por Alriga; 28/02/2018, 15:14:57.

    Dejar un comentario:


  • Avatar del visitante
    Respuesta de visistante
    Re: Espacio de color RGB: fórmula

    Cada uno de los tres colores primarios, Rojo, Verde y Azul, se pueden mover en un rango de valores de intensidad que van desde 0 hasta 255, o sea, pueden obtener 256 valores diferentes, en la combinación de los tres es irrelevante el orden por el cual inicies, lo importante es que cuentes cada posible combinación una sola vez, es por eso que en teoría puedes generar una paleta de 16.777.216 colores diferentes, pasando desde el Negro (R=0;G=0;B=0) hasta el Blanco en (R=255;G=255;B=255).

    El uso de esos tres colores viene más que todo por la teoría del Color, puedes revisar información sobre los círculos cromáticos y la generación de los diferentes colores a través de la combinación de los colores primarios, recuerda también que los colores se pueden generar por adición o por sustracción, en el caso de los monitores los colores se crean por adición utilizando para ello al Rojo, Verde y Azul como colores primarios.
    Última edición por Maq77; 01/03/2018, 12:54:20. Motivo: Corregir un error tipográfico

    Dejar un comentario:


  • pod
    ha respondido
    Re: Espacio de color RGB: fórmula

    Tiene que ver con la forma que interpretan los números internamente los ordenadores. Como seguramente sabes, utilizan código binario. Cada componente del color es un byte (8bits). Por lo tanto, un color completo son tres bytes. Es decir, 24 dígitos binarios.

    La codificación binaria tiene la particularidad que cada vez que multiplicas por una potencia de 2, como ), es equivalente a añadir ceros a la derecha. Esto es lo mismo que pasa cuando multiplicamos un número decimal por una potencia de 10. Fíjate que . Así que multiplicar por 256 lo que hace es añadir 8 ceros a la derecha del número binario. Obviamente, multiplicar dos veces (o, lo que es lo mismo, multiplicar una vez por 65536) tiene el efecto de añadir 16 ceros a la derecha.

    Al final, lo que consigues con la fórmula que has puesto es generar en la memoria del ordenador un entero que ocupa 24 bits (3 bytes). Los primeros ocho bitscorresponden a la componente R, los ocho intermedios a la G y los últimos ocho a la B.

    Un ejemplo: El color (r,g,b) = (22, 232, 186) es una especie de verde azuloso. Convertido a binario (lo puedes hacer con cualquier calculadora, o incluso en el propio google), las componentes son


    La fórmula que tu has puesto arroja el resultado


    Fíjate que convertir esto a binario nos da el siguiente resultado



    No sé si así queda suficientemente claro. Quizá te sirva un ejemplo decimal. Si quisiéramos montar un único numero entero juntando los dígitos de las tres componentes, tendrías que multiplicar por una potencia de 10. Como los colores tienen 3 dígitos, será . Eso te daría


    Pues esto es lo mismo, pero se utiliza porque esos números ocupan 8 dígitos binarios.

    Fíjate que no es tan importante el número de valores diferentes, sino la cantidad de dígitos que quieres reservar.
    Última edición por pod; 28/02/2018, 15:09:15.

    Dejar un comentario:


  • SELENA
    ha empezado un hilo Representación Espacio de color RGB: fórmula

    Espacio de color RGB: fórmula

    Hola buenas

    Estoy trabajando con valores de RGB y el programa GNUPLOt. Dicho programa utiliza la fórmula RGB (R,G,B) = 256*256*int(R) + 256*int(G) + int(B).
    ¿Alguien podría decirme si conoce el origen de esta fórmula? Es decir, ¿por qué es así? ¿Por qué es R el que se multiplica por 65536 y no B?

    Estoy mareada de buscar en la web y no encuenro ninguna solución. Sólo he averiguado que el número es 256 porque es el número de colores que se pueden obtener con cada parámetro, pero no el porqué de su orden.

    Muchas gracias
    Un saludoooo
    Selena

Contenido relacionado

Colapsar

Trabajando...
X