Removendo brilho da imagem

17

Isenção de responsabilidade: não estou de forma alguma envolvida no processamento de sinais. Apenas muito curioso ...

A questão é muito simples: é possível aplicar o processamento de software a uma imagem para remover ou reduzir o brilho do farol?

Seria uma imagem como esta:
http://www.driversedguru.com/wp-content/gallery/jamie-gallery/Lots%20of%20Glare.jpg

Se isso for possível, existe uma biblioteca de software disponível para isso? Eu não ligo para qual idioma, só quero os recursos. Slash alguém sabe se existe uma pesquisa atual sobre isso?

BenCole
fonte
3
Isso é "brilho" ou "reflexo de lente"?
Endolith
Bom ponto. Devo esclarecer: estou interessado em normalizar o nível de luz na imagem (embora especificamente nos carros). Portanto, reduza o brilho / lavagem dos faróis e aumente a visibilidade dos próprios carros. Então ... brilho ou reflexo de lente, de qualquer maneira (eu acho).
21911 BenCole
Bem, existem maneiras de realmente remover as coisas assim, com deconvolução, penso eu, em vez de apenas reduzir o seu brilho, mas eu não tenho certeza
endolith
Estou imaginando algo assim: ftp.cfar.umd.edu/pub/aagrawal/Glare/AgrawalGlareLowRes.pdf, exceto um pouco mais avançado, pois (1) reduz o brilho usando métodos semelhantes descritos nesse documento; depois (2) remove a fonte de luz real da imagem; e (3) [confuso sobre esta etapa] reduz o brilho novamente e aprimora a área ao redor da fonte de luz.
21911 BenCole
Bem que o exemplo requer modificar a ótica da câmera antes de fotografar, ao que parece
endolith

Respostas:

6

O problema que você pode ter é que, quando luzes brilhantes estiverem presentes, a câmera estará usando uma velocidade rápida do obturador para evitar que a imagem fique saturada demais. Todos os detalhes nos quais você está interessado estão nos poucos bits inferiores dos dados.

Portanto, mesmo se você remover o brilho e tentar puxar o restante da imagem para cima, é muito barulhento. Por exemplo, se você capturar sua imagem e brincar com os níveis para exibir as seções mais escuras e permitir que o brilho apareça, este é o resultado:

Versão "mais brilhante"

Se estiver tudo bem no processamento posterior (não sei o que você tem em mente), talvez você possa remover o brilho observando as distribuições de pixels saturados e expandindo para o "brilho" ao seu redor.

Uma solução melhor (se você tiver a opção) pode ser o uso de uma câmera de faixa dinâmica alta, que possui uma resposta não linear nos pixels e também frequentemente 10 ou 12 bits por pixel de resolução utilizável, o que significa que você pode manter 7 -8 bits para as seções mais escuras.

Martin Thompson
fonte
Justo. Você me deu uma boa direção para seguir, então obrigado!
BenCole
Você não precisa de uma câmera de alto alcance dinâmico. Você só precisa tirar várias fotos em diferentes níveis de exposição. As câmeras da Canon podem ser configuradas para fazer isso automaticamente com o firmware CHDK. chdk.wikia.com/wiki/Samples:_HDR
endolith
2
@ endolith - Sim, você não precisa de uma câmera HDR ... se sua cena está mudando lentamente o suficiente, você pode fazê-lo em software. Mas, para a foto acima, eu duvido: eu faço sistemas de visão automotiva e 30Hz é suficiente, eu odiaria ter que esperar vários quadros para obter dados!
Martin Thompson
1
Você poderia fazer atualizações contínuas de imagens CHDK? Em vez de esperar por vários quadros distintos, tenha intervalos como {frame1,2,3,4}, {frame2,3,4,5}, {frame3,4,5,6}, etc:? Ou isso seria muito lento?
9119 BenCole
@ BenCole: sim, isso é viável algumas vezes, mas mesmo um quadro extra de latência seria demais em alguns aplicativos. Na verdade, a mudança de cena de um quadro para a próxima significaria que "HDR pelo empilhamento de várias exposições" não iria funcionar muito bem
Martin Thompson