Como prometi no outro artigo sobre seam carving (também conhecido como Liquid rescale), testei alguns plugins para usar o recurso, e aqui está o que aprendi. Não gostei do plugin para o ImageJ, por isso vou falar só do plugin para o Gimp: o Liquid Rescale.
Instalação
Para começar você precisa baixar a versão do plugin para o seu sistema operacional e seguir as instruções de instalação. A minha eu fiz sem problemas nem muita espera (a não ser pela instabilidade que às vezes ataca o Vírtua).
Se estiver tudo certo, quando você abrir o Gimp vai encontrar um novo item no menu Layers: Liquid rescale…
Uma imagem
Escolhi uma imagem de Richard.Fisher, que encontrei no Flickr. Alguns aspectos tem de ser observados na escolha de uma imagem para um tutorial. Primeiro, a licença tem que ser compatível: neste caso, o autor usou Criative Commons (só atribuição). Se ele tivesse usado a “No derivative works” eu não poderia modificar a imagem.

Imagem original
Segundo, a imagem tem que favorecer o método do qual estou falando. O Seam Carving é um método de redimensionamento que procura não deformar os objetos presentes na imagem, descartando apenas parte do fundo. Uma fotografia com pouco ou nenhum fundo, ou com um objeto ocupando toda a cena, como no caso de uma foto para documentos certamente geraria resultados pouco interessantes.
A foto das garças (se por acaso não forem garças, me avise que eu corrijo), permite que o algoritmo do seam carving identifique a parte da imagem com menos informação, através da medida da energia, podendo retirá-la (no caso de reduzir o tamanho) ou duplicá-la (no caso de aumentar o tamanho da imagem).
Como fazer
Primeiro abra a sua imagem no Gimp. Vá ao menu Layer e escolha Liquid Rescale. Uma janela do plugin vai abrir, com a sua imagem dentro, assim:

Use as caixas de texto para selecionar largura (width) e altura (height) da imagem que você quer obter. Repara que o elo que une as duas caixas está desconectado por padrão. Você pode conectá-lo para manter a proporção entre altura e largura se você quiser, mas, ao contrário do que acontece com o redimensionamento comum, sua imagem não deve paracer deformada, mesmo com se a proporção for alterada.
Antes do OK, vá até a aba Output e selecione suas preferências:
Output on a new layer vai preservar a imagem original e colocar os resultados em um novo layer.
Resize image canvas muda o tamanho da sua janela para o tamanho da imagem gerada. Se vc estiver aumentando o tamanho da imagem, é uma boa mantê-la selecionada.
Resize axiliary layers muda o tamanho dos outros layer (que você ainda não tem), usados como máscara. Eles vão ficar de fora por enquanto.
Output the seams permite que você veja os caminhos conexos que foram retirados ou acrescentados na sua imagem.
Vou selecionar a primeira e a última opção, e diminuir apenas a largura da imagem, de 500 para 300 pixels.

Resultado da redução
Talvez você perceba pequenas deformações no resultado (eu não percebo), mas tenho certeza que são muito pequenas. Na imagem com os caminhos (seams) sobrepostos, é possível observar apenas duas ou três linhas passando sobre os pássaros.
É possível proteger os pássaros para que nenhuma parte deles seja retirada durante o processo (vou mostrar isso na parte II do tutorial), mas neste caso eu não me preocuparia com isto.

Imagem original com os caminhos (seams) que foram retirados.
Para terminar por hoje, vou tentar algo diferente: aumentar a largura e diminuir a altura da imagem, para fazer com que ela pareça uma panorâmica.

Quase uma panorâmica...
OK, não ficou perfeito. A deformação na garça da direita me chamou a atenção também. Fica a deixa para a segunda parte do tutorial: fazer uma panorâmica melhor.
Para acompanhar e não perder a próxima parte, assine o RSS feed do ImageSurvey.



[...] é a continuação do tutorial Seam Carving parte I, que publiquei na semana passada. Aquele texto terminou com a tentativa de transformar uma foto [...]