Redimensionando imagens pela linha de comando
Se você bate fotos com câmeras digitais e gosta de linha de comando este post é pra você. Recentemente comprei minha primeira câmera e descobri que fotos de 1.6 mega pixels (o tamanho que utilizo) ocupam espaço, muito espaço! Algumas passam dos 700kb. Resumindo, minha conta do Picasa não agüentaria muito se eu continuasse a subir essas imagens sem redimensioná-las antes.
E, sou obrigado a admitir, para redimensionar um álbum eu realmente utilizei o Gimp. Redimensionei todas as fotos, uma a uma, para uma resolução de 800 x 600 pixels. Economizei bastante espaço em disco, é verdade, mas perdi muito tempo, tempo que eu não queria voltar a perder. E quando não queremos perder tempo, qual a resposta? Claro, a linha de comando do Linux!
Encontrei um shell script capaz de redimensionar todas as imagens do diretório corrente para o tamanho que você desejar. Como sempre quero redimensionar as imagens para 800 x 600 não me preocupei em aperfeiçoar esse script a ponto de se poder especificar qual a dimensão final que as fotos devem ter. Como dizem os autores de livros, isso fica como um exercício para o leitor.
Os passos para termos um programa com essas características são os seguintes:
1) Instale o pacote imagemagick, que lhe proverá o programa mogrify, o qual
é o responsável pelo redimensionamento das imagens
sudo apt-get install imagemagick # para Ubuntu
2) Crie em algum local do seu sistema de arquivos o script resizepics.sh com o
seguinte conteúdo (eu o posicionei em /opt/resizepics.sh):
#!/bin/sh
for img in *.jpg; do echo "$img"; mogrify -resize 800x600 "$img"; done
3) Torne esse arquivo executável:
chmod a+x resizepics.sh
4) Torne esse arquivo disponível como um programa para o seu usuário (adicione ao arquivo ~/.bashrc a seguinte linha):
alias resizepics='/opt/resizepics.sh'
E pronto. Agora temos o comando resizepics disponível. Basta entrar no diretório
onde estão nossas fotos e chamá-lo. Note que o programa irá redimensionar apenas
os arquivos que terminem com a extensão .jpg (em letra minúscula). Se a sua
máquina digital gera arquivos com letra maiúscula talvez você também queira
um programa que renomeie todos esses arquivos de *.JPG para *.jpg. Para criar
esse programa, que chamarei de renamepics, faça o seguinte:
1) Crie em algum local do seu sistema de arquivos o script renamepics.sh com o
seguinte conteúdo (eu o posicionei em /opt/renamepics.sh):
#!/bin/sh
rename 's/JPG/jpg/' *JPG
2) Torne esse arquivo executável:
chmod a+x renamepics.sh
3) Torne esse arquivo disponível como um programa para o seu usuário (adicione ao arquivo ~/.bashrc a seguinte linha):
alias renamepics='/opt/renamepics.sh'
E pronto! Agora você pode aliar os dois programas. Dentro do diretório que possui
imagens com extensão JPG a serem redimensionadas execute os comandos:
renamepics
resizepics
As imagens serão renomeadas e em seguida redimensionadas.
E agora, o que você vai fazer com todo esse tempo disponível, hein?

April 15th, 2008 às 12:46 am
Dei uma incrementada nesse código do redimensionador de imagens e te referenciei lá no meu blog. Sem dúvida uma dica muito útil.
August 2nd, 2008 às 8:44 pm
Muito bom!!! Estou tirando muita foto agora e esse script vai meu auxiliar muito
Como eram apenas 10 fotos estava fazendo no GIMP uma a uma (que programador chibata
) mais agora é a solução para meus problemas… hehehe
vlw!