Se você puder acessar os metadados, poderá aplicar várias heurísticas:
Verifique a configuração de balanço de branco escolhida pela câmera para a foto. Basicamente, indica a temperatura da cor da luz no momento em que a foto foi tirada. Geralmente a luz solar é de cerca de 5500 Kelvin. Iluminação interna ou dias nublados, geralmente têm temperaturas diferentes.
Verifique as configurações de exposição . Geralmente, quando o sol brilha, há mais luz disponível, e isso influencia as seguintes configurações:
- Uma velocidade mais baixa do obturador
- Uma configuração ISO mais baixa
- Um valor f mais alto
Nos velhos tempos da fotografia, a regra Sunny 16 era usada para estimar a exposição. E você pode usá-lo, juntamente com as informações da lista acima, para verificar se a foto foi tirada durante o dia.
Verifique se um flash disparou ou não.
Verifique a hora em que a foto foi tirada . Supondo que o usuário tenha configurado o relógio, você pode remover imediatamente as fotos tiradas à noite.
Se, no entanto, você deseja abordar esse problema simplesmente do ponto de vista do processamento de imagens. Posso dizer que a luz solar costuma ter maior contraste e arestas mais severas. Portanto, a análise do histograma e a localização de arestas duras podem fornecer uma boa indicação.
Supondo que as fotos que você está processando estejam em um formato de imagem não processada, você pode aplicar o mesmo truque de balanço de branco descrito acima. No entanto, isso não funciona para imagens padrão como jpeg ou png. Isso porque o processador de imagem na câmera já compensa a mudança na temperatura da cor e incorpora o resultado na imagem final, apenas registrando a definição de wb nos metadados.