Hoje vou falar o Seam Carving (não encontrei tradução), também chamado de liquid rescale, ou content aware image resizing (redimensionamento de imagens considerando o conteúdo). Isto significa que o algoritmo toma conhecimento do conteúdo da imagem para determinar quais pixels são menos importantes e, portanto, não farão falta para você.
O vídeo abaixo (de r3dux) é a melhor explicação que encontrei. OK, está em inglês, mas mesmo que não entenda, assista enquanto lê o texto abaixo, onde vou explicar em linhas gerais.
Preste atenção ao exemplo dos cubos de madeira. Primeiro ele analisa a imagem em termos de energia. Existem várias formas de se descrever a energia de porções de uma imagem, mas o importante é o que ela representa: energia significa presença de detalhes, bordas e texturas, ou seja, elementos interessantes para nós, humanos.
Então o narrador comenta qual seria o resultado se fossem retiradas as linhas de pixels que contém menos energia. O resultado são cubos deformados.
A segunda hipótese é a escolhida para o algoritmo: selecionar o caminho de pixels conexos que tem a menor energia. Este caminho, na maioria das vezes, é uma linha tortuosa que cruza a imagem no sentido horizontal ou vertical.
O vídeo ainda mostra o uso do mesmo método para aumentar o tamanho das imagens, assim com apagar elementos.
Referências
Existe uma página oficial (bom, pelo menos é o que a url sugere), provavelmente mantida pelo autor do vídeo, já que não existem informações como about, ou sequer copyright… Mas este endereço leva a um arquivo pdf, assinado por Shai Avidan e Ariel Shamir, estruturado como um artigo de revista científica, porém sem data de publicação ou nome do periódico. O trabalho apresenta o método em detalhes, para quem estiver interessado em desenvolver sua própria implementação, ou aplicar a técnica em outras situações.
Software
Encontrei algumas opções de aplicativos/plugins que executam o Seam Carving, só que o link para o plugin do Gimp está quebrado. Este é o link correto para a página do plugin do Gimp. Também tem para o ImageJ: Seam Remover.
Eu já baixei o plugin do ImageJ. Vou instalar e fazer meus testes – outro dia conto como foi. Quer saber quando? Assine o RSS feed.


[...] prometi no outro artigo sobre seam carving (também conhecido como Liquid rescale), testei alguns plugins para usar o recurso, e aqui está o [...]