pano
 

Criando uma foto panorâmica simples com o hugin


E, pelos deuses, Sócrates, meu espanto é inimaginável ao indagar-me o que isso significa, ao contemplar essas coisas, verdadeiramente sinto vertigem.
-- Platão, Teeteto

Introdução

Você quer fazer uma foto panorâmica maravilhosa daquele lugar onde você só pode ir umas poucas vezes na vida, mas na sua bagagem tem apenas uma câmera digital simples?

Se você tiver também o software de código aberto hugin, não haverá problemas, pois você poderá tirar várias fotos do lugar com a sua câmera e depois costurá-las montando uma só imagem.

Neste tutorial, vamos juntar as duas imagens abaixo, em uma só imagem panorâmica usando o hugin.

O resultado que pretendemos obter deverá se parecer com a seguinte foto:

Antes de prosseguir na descrição do procedimento, quero mencionar que não é meu objetivo neste tutorial fazer uma apresentação detalhada do hugin, mas apenas mostrar como pode ser utilizado para resolver o problema proposto.

Procedimento

Primeiramente chamamos o hugin e carregamos as duas fotos na seqüência da esquerda para a direita. Isso não é crítico, pois a ordem das fotos pode ser alterada após o carregamento.

Para carregar as imagens, clicamos no botão "Add Individual Images" e, na caixa de diálogo que se abrirá, selecionamos as duas imagens que vamos usar. Em seguida clicamos em "Open".

Neste momento, se as suas fotos têm pacotes de informações EXIF, o hugin irá calcular alguns parâmetros do sistema óptico, como o campo de visão, etc. Para isso, ele precisará também de um parâmetro acerca do equipamento utilizado que normalmente não é encontrado no EXIF. Essa informação é chamada crop factor:

Esse valor é definido como o quociente da divisão de 43.3mm pelo comprimento em mm da diagonal do filme ou do sensor da câmera. Para minha câmera, uma velha Olympus C-5060, o crop factor é aproximadamente 4.83429595. Caso você não saiba esse valor, ainda assim será possível criar um panorama decente, se bem que com alguma perda de qualidade. Nesse caso o valor sugerido pelo hugin estará bem e basta clicar no botão Ok.

Pois bem, para poder costurar (stitch) o panorama, o hugin precisa saber quais pontos de uma foto correspondem a quais pontos da foto seguinte. Esses são chamados pontos de controle ou control points. No panorama, os pontos correspondentes deverão coincidir precisamente.

Vamos então escolher a aba "Control Points" e começar a marcar alguns pontos de controle. Mas antes, certifique-se de que as caixa "auto fine-tune" e "auto estimate" estejam selecionadas, mas a caixa "auto add" não eteja, conforme pode ser visto na figura abaixo.

Usando as abas numéricas, selecione a imagem 0 na foto da esquerda e 1 na foto da direita. Isso seleciona o par de imagens 0-1

O objetivo é marcar um ponto na imagem da esquerda e seu correspondente na imagem da direita. Como você vai perceber logo, após marcar o primeiro ponto, o hugin é muito esperto para encontrar sozinho os demais pontos na imagem da direita.

Para marcar cada par de pontos, procedemos do seguinte modo: primeiro escolhemos arbitrariamente o local do ponto e clicamos sobre ele na foto da esquerda (1 na figura abaixo). A foto é instantaneamente ampliada e podemos ver melhor onde o ponto foi marcado. Caso desejado podemos clicar e arrastar o ponto livremente.

Em seguida, para marcar o ponto correspondente, clicamos em algum ponto na foto da direita, tal que o local onde vamos clicar se localize perto o bastante do ponto correspondente. O hugin representa a região onde o ponto correspondente deve cair por meio de um quadrado sob o ponteiro do mouse (2 na figura acima).

Ao marcar o segundo ponto, a foto da direita também é instantaneamente ampliada e podemos fazer ajustes na localização do ponto. Opcionalmente podemos clicar no botão "Fine tune" para que o hugin faça esse ajuste automaticamente.

Tendo marcado um par de pontos, devemos acrescentar esses pontos à lista de pontos de controle. Para isso clicamos no botão "Add". Para obter um bom resultado, é preciso marcar uma quantidade bastante razoável de pares de pontos, digamos 10 ou mais, e de preferência que esses pontos sejam bem espalhados pelo quadro.

É bom observar que à medida em que são acrescentados, os pontos surgen na lista de pontos de controle, exibida na parte inferior da janela. A coluna "Distance" indica a distância entre os respectivos pontos de controle, e idealísticamente deveriam ser todas iguais a 0, mas normalmente isso nunca acontece.

Após marcar todos os pontos, verificamos cada par individualmente para ter certeza de que estão corretos. Quanto mais exatos melhor será o resultado final.

Agora falta pouco para podermos finalmente criar nosso panorama. O penúltimo passo é rodar o otimizador que irá calcular, a partir dos pontos de controle marcados, qual é a transformação que deve ser aplicada a cada imagem para que se ajustem perfeitamente.

Vamos então clicar sobre a aba "Optimizer". Nessa janela, primeiro vamos informar ao otimizador o que ele deve fazer. Desejamos otimizar a posição, a vista, e também a distorção do tipo barril. Assim, na caixa "Optimize", escolhemos "Positions, view and barrel (y,p,r,v,b)". (1 na figura abaixo).

Para dar início ao otimizador, clicamos no botão "Optimize now!" (2 na figura acima). Uma pequena caixa de diálogo do otimizador se abrirá e ele irá exibir uma porção de números à medida em que o processo for avançando. No final, uma outra caixa de diálogo se abrirá informando o resultado.

Se tudo correu bem, devemos esperar uma caixa como esta:

Se os números exibidos não parecem muito grandes, são digamos menores do que 10 ou 15, então temos um bom ajuste, e podemos clicar no botão Ok para aceitar o resultado. Caso contrário, talvez seja desejável revisar a lista de pontos de controle em busca de um ou mais pares que não estão se ajustando muito bem.

Ocasionalmente, o otimizador chega a uma situação em que não teve um bom êxito em sua tentativa de ajuste. Nesse caso, uma janela como a seguinte poderá aparecer:

Caso isso aconteca, e você tem razoável certeza de que os pontos foram corretamente marcados, podemos tentar otimizar primeiro apenas a posição e a vista, rodando primeiro o otimizador com a opção "Positions and view (y,p,r,v)" e, em seguida, uma nova rodada com "Positions, view and barrel (y,p,r,v,b)".

Se nada parece funcionar, então provavelmente, algum par de pontos, senão mais do que um, não esteja correspondendo exatamente. Será preciso retornar à lista de pontos de controle e verificá-los um a um.

Quando tiver obtido êxito com o otimizador, será o momento de voltar à janela do "Stitcher" e clicar o botão "Calculate Field of View" a fim de obter um quadro que contenha o resultado.

Depois disso, podemos clicar o botão "Preview panorama" para termos uma idéia de como será o resultado final.

A figura abaixo mostra a janela do modo preview. É comum notarmos que boa parte do quadro está preenchida em preto, o que é perfeitamente normal. Mais adiante vamos recortar a foto, removendo essa borda preta. Não tente fazer isso agora, a menos que você saiba bem o que está fazendo, pois quase certamente irá arruinar o panorama.

Caso a parte desejada não esteja inteiramente dentro do quadro, podemos ajustar as barras de rolagem, mas muito sutilmente, e precionar o botão "Update" para ver o resultado.

Estando satisfeito com o resultado, a ultima etapa é costurar o panorama, o que em nosso caso irá produzir uma imagem semelhante à que foi visualizada, mas em alta definição. Para isso, basta clicar o botão "Stitch Now!".

Essa etapa não deve ser muito demorada, mas pode levar alguns minutos se a imagem original for muito grande. O resultado pode ser visto abaixo:

Agora será preciso carregar essa imagem em algum programa gráfico como o GIMP ou o Photoshop e recortar a parte de interesse. Após o recorte, um ajuste dos níveis e a aplicação de uma curva-S, o resultado final é este:

Coisas a experimentar

O mesmo procedimento que aplicamos aqui a apenas duas imagens pode ser usado para trabalhar com várias imagens ao mesmo tempo. Para isso basta marcar os pontos de controle referentes a cada par de imagens adjacentes. Isso permite colar panoramas de até 360 graus.

Conclusão

Como vimos, o hugin pode ser usado efetivamente na confecção de panoramas simples. No entanto, ele dispõe de muitos mais recursos, alguns básicos e outros avançados, que não foram explorados neste tutorial.

Muitos dos recursos apresentados pelo hugin, entre outros que são ansiosamente aguardados para a próxima versão, ou estão completamente ausentes de muitos programas comerciais ou não são tão convenientes de usar em algumas implementações. Como exemplo citamos a possibilidade de aplicar transformações homográficas arbitrárias às imagens individuais. Isso permite, por exemplo, corrigir aberrações cromáticas e outras distorções causadas às imagens pelo sistema óptico da câmera e da lente.

Apesar de ser aparentemente trabalhoso, com um pouco de prática é possível criar panoramas com certa rapidez, de modo que este recurso poderia ser usado efetivamente por profissionais de um birô de produções gráficas.

Se nada disso o convenceu a testar o hugin, preste atenção no preço: é de graça!

Referências

  • [1] GIMP - Gnu Image Manipulation Program é um programa de código aberto para manipulação de imagens rasterizadas, com muitos (porém nem todos) recursos disponíveis no Photoshop.
  • [2] hugin - Programa de código aberto para montagem de imagens panorâmicas. Disponível para Linux, Windows e Mac OS

Updated on  Mon Jul 15 13:27:35 2013
Copyright © 1997-2014, Waldeck Schutzer
 
http://twitter.com/ityessal http://twitter.com/liminft