Archive for the Imagem Category

Manipular imagens na linha de comandos (I)

Posted in CLI, Imagem on Fevereiro 5, 2010 by ovigia

Precisava de mexer no tamanho de algumas imagens para as colocar no Forum Bushcraft, como tal lembrei-me de usar um excelente pacote/programa que na distro Debian e suas filhas fica à distância de dois comandos:

#aptitude update
#aptitude install graphicsmagick

O Graphicsmagick é um fork completamente livre e mais optimizado do Imagemagick.
Aqui têm alguns benchmarks para comparem as performances de cada uma destas versões.

Outro pacote/programa que permite manipular um vasto conjunto de imagens ao mesmo tempo é o Phatch, mas este é uma espécie de front-end para algumas das coisas que o Graphicsmagick e o Imagemagick permite, entre as quais:

  • Actions: resize, rotate, invert, flip, watermark, shadow, rounded corners and much more!
  • Drag & drop of actions
  • Enable & disable actions
  • Can copy folder hierarchies
  • Python shell
  • Error logging
  • File history
  • Console (can run on servers without gui)
  • Desktop droplets
  • Image Inspector (exif & iptc)
  • Cross-platform (Linux, Windows & Mac)
  • python-api

Como não percebo muito destas coisas relativas à manipulação de imagem esta entrada e posteriores servirá apenas como dica de entrada para coisas mais complexas e para repositório de alguns links porreiros sobre este tema.

Sendo que um dos mais porreiros é um artigo da IBM sobre o Imagemagick que nos dá uma pequena demonstração do que ele é capaz.

Graphics from the command line; Flip, size, rotate, and more with ImageMagick
E para aquilo que eu pretendo fazer chega e sobra 😉

Ora então vamos lá, como a resolução das imagens é um bocado avantajada vou reduzi-la.

$convert -sample 1024x768 img.in.jpg img.out.jpg


e já está, convém referir que a imagem mantém o aspect ratio.

Também poderia ter usado uma determinada percentagem ou ter criado por exemplo thumbnails para todas as fotos de uma directoria.

Ainda das dicas da IBM,

$convert -sample 25%x25% input.jpg output.jpg

<i>for img in `ls *.jpg`
do
  convert -sample 25%x25% $img thumb-$img
done</i>
Anúncios