quarta-feira, 24 de junho de 2015

[Ubuntu] Redimensionar imagens pela linha de comando

Tirou um monte de fotos usando o máximo de megapixel da sua câmera e agora tem uma pasta com várias imagens imensas ?
Sem problemas ! Você pode redimensionar uma pasta inteira de imagens para o tamanho e qualidade que desejar.

Para converter as fotos, usaremos o comando "convert". Para instalá-lo, faça:
sudo apt-get install imagemagick

No seu terminal, dê um "cd" até a pasta de fotos que deseja converter.
cd /home/fulano/fotosViagem

Já dentro da pasta das fotos, usaremos o seguinte comando:

cdt=1; for arq in *.JPG; do convert $arq -resize 25% -quality 80% ~/Imagens/$arq;((cdt++)); echo 'Convertendo '$arq;done

Cole o comando inteiro no terminal, mas, antes de usar, é importante entender o que são esses comandos:

  • *.JPG refere-se a extensão das imagens, note que está em maiúsculo. Se suas imagens foram salvas com outra extensão ou em minúsculo, modifique essa parte. (Exemplo: *.jpg ou *.png
  • -resize 25%: Diminui a foto para 25% do tamanho original. Altere essa porcentagem caso deseje uma imagem menor ou maior.
  • -quality: Quanto menor a qualidade que salvamos, menor o espaço ocupado pela imagem no computador. Se quiser qualidade máxima, use 100%. No caso, usamos 80%.
  • ~/Imagens/: Aqui é a pasta de destino das fotos, é onde as fotos redimensionadas serão salvas. Neste caso, vai salvar na pasta Imagens que está dentro da home do seu usuário (/home/MEU_USUARIO/Imagens/). Super recomendo alterar essa pasta para uma outra que desejar.
O comando "convert" tem uma série de opções de edição de imagem por linha de comando. Portanto pode-se modificar o que propus neste post e criar uma edição em lote da maneira que desejar. 

Com o comando "convert" você vai ver que é possível girar, escrever e cortar a sua imagem além de muitas outras coisas. Se quiser conhecer mais as opções do comando "convert", dê uma olhada em

Té + !