image processing - pairs - ¿Hay alguna manera fácil de comparar cuán cerca están dos colores el uno del otro?
poligono en r (3)
No estoy seguro de ningún algoritmo, es posible que desee considerar convertir los valores RGB (rojo, verde, azul) en HSB (tono, saturación, brillo).
El tono es esencialmente "color", por lo que puede comparar simplemente qué tan cerca están los valores de Hue.
¿Hay alguna manera de comparar qué tan cerca están dos colores el uno del otro? Si decir que ambos son azules.
Por el momento, la forma en que los comparamos es asignar manualmente cada color posible a una familia de colores (rojo, verde, azul ...). Y luego solo compare las cuerdas :)
Pero seguramente esa tarea manual se puede asignar a un pequeño algoritmo limpio.
Probablemente desee convertir los colores a un modelo HSL (Matiz, Saturación, Luminosidad) y luego compare los valores dentro de los umbrales en el orden HSL. Si el matiz está dentro de una tolerancia considerada "cercana", entonces verifique la "proximidad" de la saturación y luego la claridad.
Delta-e , es un número único que representa la "distancia" percibida entre dos colores. Cuanto menor sea el número, más similares serán los colores al ojo humano.
Hay algunas formas diferentes de calcularlo ... CIE76 (también conocido como CIE 1976 o dE76) es el más popular.
Cada uno realiza las cosas de una manera diferente, pero en su mayoría todos requieren que se convierta a un modelo de color mejor (por comparación) que RGB.
Para CIE76 básicamente convierte sus colores al espacio de color LAB, luego calcula la distancia tridimensional entre ellos.
Wikipedia tiene todas las fórmulas: http://en.wikipedia.org/wiki/Color_difference
Puede verificar su trabajo con calculadoras de colores en línea: