Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Obtener el color mas parecido?

Estas en el tema de ¿Obtener el color mas parecido? en el foro de C/C++ en Foros del Web. tengo un valor de color en formato RGB y una lista de colores en valores RGB, Como puedo hacer que mi programa en C compara ...
  #1 (permalink)  
Antiguo 14/06/2016, 23:00
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 9 años
Puntos: 2
¿Obtener el color mas parecido?

tengo un valor de color en formato RGB y una lista de colores en valores RGB, Como puedo hacer que mi programa en C compara el color RGB con la lista de colores RGB e identifique el color mas parecido
  #2 (permalink)  
Antiguo 15/06/2016, 01:03
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: ¿Obtener el color mas parecido?

Te falta determinar qué entiendes por color más parecido. ¿Das más importancia a la saturación de color? ¿o es el brillo? ¿el tono tal vez? ¿una suma de ellos? ¿es un componente en particular?

Tienes que tener en cuenta, además, que nuestro ojo no interpreta de la misma forma la misma cantidad de cada componente (rojo, verde, azul). El ojo es más receptivo para frecuencias azules en primer lugar, rojas en segundo y, finalmente, verdes.

Mi recomendación es que conviertas el color a HVS o HSL si lo tienes en RGB ya que estos formatos se basan en la interpretación del ojo en vez de en componentes. ¿Qué formato elegir? Como te he dicho dependerá de tus prioridades a la hora de determinar el color más parecido.

Una vez tengas eso claro el algoritmo puede ser tan sencillo como obtener aquel color cuya resta para el parámetro que determine el índice de cercanía sea mínimo.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: rgb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:40.