Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/11/2011, 23:57
jevangelista
 
Fecha de Ingreso: abril-2011
Ubicación: Distrito Federal
Mensajes: 112
Antigüedad: 13 años
Puntos: 17
Respuesta: Duda importante C++

Este tipo de ejercicios es para explotar tu creatividad, así que debes analizar e imaginarte una solución.

Yo partiría de contar todos los pixeles que tienen un color azul compatible con el color azul del cielo cuando es de día. Si hay una gran cantidad de puntos azules determinas que es de día, de lo contrario dices que es de noche.

Cómo es eso de detectar un color azul?

Los pixeles de una imagen se descomponen en tres partes: los componentes RGB que son Red, Green y Blue, o sea Rojo, Verde y Azul. Generalmente cada componente se mide desde el 0 hasta el 255. Se usa 0 cuando un color no tiene determinado componente y 255 cuando tiene un componente completo en ese rango de color.

Bajo esta nomenclatura, el color de un pixel se representa con tres números, por ejemplo el (0, 0, 0) es el negro, el (255, 255, 255) es el blanco, el (127, 0, 0) es un rojo obscuro, el (0, 200, 0) es un verde algo brillante, el (0, 0, 255) el el azul más claro que hay, (255, 255, 0) es un morado, etc. etc.

Sabiendo eso, debes buscar los tres números que representan al color azul cielo típico en una foto. Luego debes determinar una manera de decir que un punto de color azul de una foto es similar a tu color azul típico y cuáles no.

Digamos que tu color azul típico es (0, 128, 255). Para saber que si se parece a otro punto de color (100, 150, 100) haces la resta entre cada componente y los resultados serían (-100, -22, 155), imaginemos que tu tolerancia es de (+-)15, este punto no pasaría como un punto similar. Si hacemos los mismo con un punto de color (5, 130, 250) el resultado sería (-5, -2, 5), en este caso los tres resultados están dentro de la tolerancia de (+-)15 y con eso determinas que el punto es parecido.

Bajo este método sería fácil ubicar todos los puntos que representan el color azul cielo dentro de tu foto. Si sobrepasan determinada cantidad, por ejemplo unos 5 mil puntos, puedes decir que esa foto tiene una gran cantidad de puntos azul cielo (de día).

Espero que te inspires.