Pergunta

.

Então estou fazendo alguma pesquisa relacionada à alta imagem de intervalo dinâmico (HDRI). Eu já fiz algum trabalho em OpenCV relacionado ao alinhamento e remoção fantasma (nenhuma manipulação ou criação de HDR real ainda), e agora gostaria de poder começar a trabalhar com imagens HDR.

Alguém pode recomendar uma boa biblioteca HDR de código aberto que idealmente permitiria que eu faça o seguinte:

  • Leitura / escreva um formato HDR (não estou comprometido com um formato específico, então estou aberto a sugestões aqui)

  • Combine imagens de bracha de exposição para obter imagens HDR, mas de uma forma que me permite acessar a função da câmera que é criada para que eu possa usar mais tarde para fazer coisas como usar diferentes números de imagens EB para contribuir para diferentes partes da imagem HDR.

  • interface relativamente facilmente com openCV (veja abaixo para detalhes).

Se for uma biblioteca que permita a fácil interface com OpenCV, isso seria ideal. Eu não acho que há atualmente qualquer funcionalidade HDR em OpenCV, mas alguém pode me dizer se há uma maneira de converter uma imagem de HDR em um formato que os algoritais OpenCV, como o inpainting funcionar? Por exemplo, eu sei que OpenCV pode trabalhar com imagens de ponto flutuante de 64 bits; Posso apenas converter uma imagem HDR em um desses formatos e correr com ele?

obrigado.

Foi útil?

Solução

Ei, eu perguntei isso há muito tempo, e apenas tropeçou na minha pergunta novamente através do Google, então eu pensei em fornecer uma rápida atualização.

Eu tentei imagem Magick com Magick ++.Depois de um pouco de trabalho, consegui trabalhar com o formato do OpenExr, mas nunca consegui obter radiância (.hdr) funcionando que é uma pena porque eu faço muito trabalho em Matlab que só lê / escreve o brilho para HDR.

Em seguida, tentei livreImage.Eu consegui ler / escrever HDR, bem como formatos PFM com isso, mas eu encontrei o formato de Fibitmap realmente fechado, isto é difícil obter dados de uma fibitmap em uma esteira OpenCv, e quase impossível de recuperá-lo em um FIBITMAP.

No final, comecei a usar mapas de flutuação portáteis (PFMS) e lendo e escrevendo com meu próprio código porque o formato é tão simples.Mais uma vez, isso é em uma configuração de pesquisa, por isso, enquanto o PFM é um formato bastante desanimado para o armazenamento de longo prazo ou uso comercial, é muito bom para fins de pesquisa.

Outras dicas

Eu estou usando o FreeImage Library para carregar imagens HDR (esta biblioteca suporta a maioria dos formatos de câmera bruta, tipos de imagem de ponto flutuante e 48bpp, imagens de 64bp).

Então eu fiz um conversor em C ++ que é capaz de converter de imagens de tipo gratuito para opencv e vice-versa.A Freeimage também possui conversões de mapeamento de tom para alterar imagens HDR para imagens 32bpp.

Eu diria que a conversão provavelmente seria mais fácil.Eu olharia para o ImageMagick ( http://www.imageemagick.org ) bibliotecas para conversão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top