Marcelo Cicconet

HDR: Captura e Exibição

Neste trabalho implementamos o pipeline completo de fotografia HDR (High Dynamic Range), que consiste de dois passos: o primeiro é a captura em si da imagem HDR, e o segundo é o mapeamento desta imagem para uma outra cuja dynamic range seja passível de exibição em dispositivos normais, isto é, onde o valor dos pixels é um inteiro que varia entre 0 e 255.

Existem vários métodos para cada uma das etapas mencionadas acima . Nós implementamos apenas um de cada. Uma revisão de outros métodos bem como uma discussão de outras questões inerentes ao HDR é feita nesta publicação.

Para a captura de HDR usamos o método de Debevec e Malik, cujo artigo se encontra aqui. Quanto à segunda etapa, o chamado tone mapping, foi usado o método de Fattal, Lischinski e Werman. O artigo é este.

Eis um exemplo. Começamos com um certo número de fotografias da mesma cena tiradas com exposições diferentes.

Note que é necessário grande tempo de exposição para capturar os detalhes das regiões sombreadas da floresta, e baixa exposição para os prédios ao fundo.

Em tons de cinza, a imagem HDR obtida é como segue (onde os valores foram normalizados linearmente de modo a que o range fosse 0,...,255).

O resultado do tone mapping é este:

Para os três canais, obtemos:

E, depois de uns pequenos ajustes no histograma de luminâncias:

A título de comparação, este é um resultado obtido usando o software Photomatix:

Outros resultados:

As imagens foram capturadas com uma Nikon D-40. O software foi desenvolvido no XCode (plataforma Macintosh), com auxilio da biblioteca OpenCV, para operações básicas em imagens (abrir, salvar, redimensionar, etc). Aqui está o código fonte (sem o OpenCV framework). Use por sua conta e risco. Para saber mais sobre o curso de Processamento de Imagens no IMPA, visite a página do curso. Por fim, gostaria de agradecer ao Thiago Pereira pelas discussões a respeito do Método Multigrid.