¿Cómo detectaría algorítmicamente para una foto determinada si el sol brillaba cuando se tomó la foto?
Ejemplos
Una muestra de esta cámara web en la cima de una montaña:
Claramente el sol está brillando.
En esta otra muestra es mucho menos obvio:
Probablemente se podría detectar con bastante facilidad si hay niebla al tratar de identificar la pequeña aguja de la iglesia en la capilla en el centro. Sin embargo, sabiendo muy poco sobre el procesamiento de imágenes, me sorprendería si hubiera un (combinación de) algoritmo que pudiera determinar de manera confiable si hay sol o no.
algorithms
image-processing
Marcel Stör
fuente
fuente
Respuestas:
Si puede acceder a los metadatos, puede aplicar una serie de heurísticas:
Compruebe la configuración del balance de blancos , la cámara ha elegido para la foto. Básicamente indica la temperatura de color de la luz en el momento en que se tomó la foto. Por lo general, la luz solar es de alrededor de 5500 Kelvin. La iluminación interior o los días nublados, suelen tener temperaturas diferentes.
Verifique la configuración de exposición . Por lo general, cuando brilla el sol, hay más luz disponible, por lo que esto influye en las siguientes configuraciones:
En los viejos tiempos de la fotografía, la regla Sunny 16 se usaba para estimar la exposición. Y puede usarlo, junto con la información en la lista anterior, para verificar si la foto fue tomada durante el día.
Compruebe si se disparó un flash o no.
Verifique la hora en que se tomó la foto . Suponiendo que el usuario haya configurado el reloj, puede eliminar de inmediato las fotos tomadas por la noche.
Sin embargo, si desea abordar este problema simplemente desde el punto de vista del procesamiento de imágenes. Puedo decir que la luz solar generalmente tiene un mayor contraste y bordes más duros. Por lo tanto, el análisis del histograma y la búsqueda de bordes ásperos pueden ser una buena indicación.
Suponiendo que las fotos que está procesando están en formato de imagen sin procesar , puede aplicar el mismo truco de balance de blancos descrito anteriormente. Sin embargo, esto no funciona para imágenes estándar como JPEG o PNG. Esto se debe a que el procesador de imagen de la cámara ya compensa el cambio en la temperatura de color y hornea el resultado en la imagen final, simplemente registrando la configuración de wb en los metadatos.
fuente