¿Hay alguna forma 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 simplemente compare las cadenas :)
Pero seguramente esa tarea manual se puede asignar a un pequeño algoritmo limpio.¿Existe alguna manera de comparar qué tan cerca están dos colores entre sí?
Respuesta
Delta-e, es un solo número que representa la 'distancia' que se percibe 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 va sobre las cosas de una manera diferente, pero en su mayor parte todos ellos requieren que se convertirá en un mejor (para comparación) modelo de color que RGB.
Para CIE76, básicamente solo convierta sus colores al espacio de color LAB, luego calcule la distancia tridimensional entre ellos.
Wikipedia tiene todas las fórmulas: http://en.wikipedia.org/wiki/Color_difference
Puede revisar su trabajo con las calculadoras de color en línea:
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.
Creo que esta es una respuesta mejor que la de David, el pecado Sin saber lo contrario, supongo que con OP encontrará que una comparación basada en HSL será más útil que una basada en RGB. –
er ... la Op, no con Op .... –
@ Adam Bellaire, ¿puedes explicar por qué podría ser? No estoy muy claro sobre las diferencias entre RGB y HSL yo mismo –
No estoy seguro de ningún algoritmo, es posible que desee considerar la conversión de 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.
¿Y las otras dimensiones? Desde el punto de vista de la perspectiva humana, dos colores pueden ser totalmente diferentes con el mismo valor H (por ejemplo, rojo y rosa). –
- 1. ¿Qué tan cerca están los flujos de entrada de Java?
- 2. ¿Cómo comparar dos listas <String> entre sí?
- 3. ¿Alguna buena manera de hacer que dos objetos inmutables se refieran entre sí?
- 4. Comparando dos matrices numpy entre sí
- 5. ¿Qué tan cerca están los servidores web de desarrollo a los servidores web de producción?
- 6. ¿Hay dos matrices de permutación entre sí?
- 7. Comparar colores RGB en C#
- 8. ¿Cuál es la forma más sencilla de comparar dos objetos google :: protobuf :: Message entre sí?
- 9. ¿Hay alguna herramienta de análisis estático que informe qué tan cerca se siguen los principios SÓLIDOS?
- 10. Dos clases que se refieren entre sí
- 11. Vim reemplazar dos palabras entre sí
- 12. comparar archivos entre dos ramas en TortoiseSVN
- 13. ¿Hay alguna manera simple de probar dos PNG por igualdad?
- 14. Dado un conjunto de puntos, ¿cómo encuentro los dos puntos que están más alejados entre sí?
- 15. ¿Cómo intercalar entre dos colores usando three.js?
- 16. ¿Existe una manera simple de comparar instancias de BufferedImage?
- 17. Proceso para comparar dos conjuntos de datos
- 18. ¿Cómo agrupar los puntos de latitud/longitud que están 'cercanos' entre sí?
- 19. ¿Existe alguna manera fácil de usar InternalsVisibleToAttribute?
- 20. ¿Cómo comparar dos consultas?
- 21. ¿Hay alguna manera de comparar dos ramas para diferencias/versiones de archivos en VS2010?
- 22. ¿Hay alguna forma de comparar dos diffs o parches?
- 23. ¿Existe una forma estándar de comparar dos rangos en C++?
- 24. Herramientas para comparar estructuras de dos sitios
- 25. ¿Hay alguna manera de descargar Xcode por sí mismo?
- 26. ¿Hay alguna manera de comunicarse entre sí con los módulos en boilerplatejs?
- 27. Diferencias entre SÍ/VERDADERO?
- 28. ¿Hay alguna manera fácil de combinar dos valores System.Drawing.Color?
- 29. ¿Qué tan caro es comparar dos conjuntos desordenados para la igualdad?
- 30. comparar dos ArrayList
Nosotros, los que sufren daltonismo, no estar de acuerdo con lo los colores están cerca, o diferente ... –