Tengo algunos colores en RGB en [0,1] y quiero encontrar una manera de calificar su similitud, tal como la percibe un humano.
Tengo dos ideas en mente, pero estoy seguro de que también hay otras opciones, pero no estoy seguro de cuál es la mejor, o si tal vez no es la mejor, sino solo compensaciones.
Mi primera idea es tratar los colores RGB como puntos XYZ y calcular su distancia.
Otra idea que tengo es tratar los valores RGB como un histograma y usar el producto de puntos para obtener un valor de similitud entre ellos, donde un valor mayor es mejor.
Sin embargo, sé que no todos los canales de color tienen el mismo brillo percibido, por lo que tal vez debería ponderar los canales de color de manera diferente en ambos casos.
También estoy pensando que tal vez tendría que hacer una corrección sRGB en los valores de color (como sqrt en cada canal de color).
También sé que existen otros espacios de color, por lo que tal vez uno de esos sería mejor para dar un valor de similitud.
Otro desafío para esto puede ser que diferentes pantallas mostrarán los mismos valores de color de manera diferente. No estoy seguro si eso es relevante en este caso.
¿Alguien puede proporcionar alguna ayuda / dirección?
Respuestas:
Este es un tema enorme, y se encuentra libremente bajo la bandera de los modelos de apariencia de color . ¿Por qué no es estrictamente una formación más simple? Se debe a la naturaleza psicofísica del color, ya que el color no existe más allá del organismo humano.
El mejor consejo es que, al igual que la criptografía, no haga lo suyo; es probable que llegue a un sistema subóptimo que, en el mejor de los casos, golpeará paredes que ya han sido golpeadas por otros investigadores en el campo. Si basa su trabajo en modelos e investigaciones existentes, es posible que sea más preciso para sus necesidades [1].
Uno podría señalar los desarrollos históricos en torno a las CAM, pero aquí es más fácil sugerir que investigue el modelo de codificación de color IPT y su equivalente cilíndrico que modela la coloración y el tono como un ángulo. Las evoluciones en el modelo IPT superan la mayoría de los problemas del modelo Lab anterior, y simplifican parte del trabajo involucrado en CIECAM02.
IPT, y cada espacio de color RGB para el caso, están anclados en la investigación CIE de 1931. Como tal, este tipo de problemas se resuelven en un nivel inferior.
[1] Esta respuesta ampliada se debe al comentario del Sr. Wolfe a continuación en un intento de explicar por qué lanzar su propia solución podría ser un enfoque subóptimo.
fuente
Si la métrica compleja es aceptable, sugeriría mirar el enfoque basado en la percepción descrito aquí . La métrica está diseñada para elegir la diferencia perceptiva de dos imágenes. Hay dos pruebas principales para eso: basada en luminancia y basada en color. El primero permite responder a la pregunta qué tan importante es el cambio de luminancia al estimar un factor umbral no uniforme basado en la sensibilidad a los cambios de contraste dependiendo de las frecuencias espaciales de la imagen. El segundo se basa en la distancia euclidiana en el espacio de color CIE LAB, pero ligeramente modificado para que la diferencia de color sea menos importante cuando la luminancia está en los rangos mesópico y escotópico. Puede encontrar una lista de documentos relacionados con esa métrica aquí .
fuente