Pesquisa de site

Como manipular imagens no terminal Linux


Precisa cortar, redimensionar ou editar rapidamente uma imagem no Linux? Esqueça o carregamento de um aplicativo - use o terminal.

Já se cansou de abrir constantemente seu editor de imagens favorito para um simples corte, redimensionamento ou para alterar o formato do arquivo? Talvez você precise executar facilmente essas tarefas em lote ou dentro do software?

Veja como usar a ferramenta convert do Linux, que permite fazer tudo isso com o terminal por meio da linha de comando e muito mais.

Instalar o ImageMagick

A ferramenta convert faz parte do popular pacote imagemagick, que você precisa ter instalado. Verifique se o ImageMagick está ou não instalado com o comando:

convert --version

Se o número da versão do ImageMagick for exibido, ele já está instalado e você pode passar para a próxima seção. Caso contrário, instale o ImageMagick com o comando:

sudo apt-get -y install imagemagick

Obter informações de imagem

Você pode obter as informações básicas sobre qualquer imagem com o comando:

convert <FILENAME> -print "Type: %m\nSize: %b\nDimensions: %wx%h\n" /dev/null

Isso fornecerá o tipo mime da imagem, o tamanho do arquivo em KB e suas dimensões em pixels, e será semelhante a:

Type: jpeg
Size: 35.6KB
Dimensions: 640 x 480

Alterar formato de arquivo de imagem

Você pode alterar facilmente o formato de arquivo de qualquer imagem com:

convert <SOURCE_FILE> -append <DEST_FILE>

Este comando irá pegar o arquivo , convertê-lo no formato apropriado e salvar uma nova imagem em Você deve usar as extensões de arquivo corretas (isto é, JPG, GIF, PNG, etc.) para o DEST_FILE e detectará automaticamente para qual formato converter a imagem.

Redimensionar uma imagem no Linux

Se você deseja redimensionar uma imagem ou talvez gerar uma miniatura rapidamente, pode fazê-lo com a opção -resize. Execute o seguinte comando:

convert -resize 25% <SOURCE_FILE> <DEST_FILE>

Isso redimensionará a imagem e criará um novo arquivo de imagem em DEST_FILE com 25% das dimensões da imagem de origem. Observe que o comando acima não reduz o tamanho em 25%, mas gera uma nova imagem com 25% do tamanho. Se precisar ampliar uma imagem, você pode ajustar a porcentagem para mais de 100%.

Em vez de redimensionar por porcentagem, você também pode especificar as dimensões específicas com o comando:

convert -resize 1024x768 profile.jpg profile_large2.jpg

O comando acima redimensionaria a imagem de origem para 1024x768 pixels e salvaria a nova imagem em DEST_FILE.

Cortar uma imagem

Se precisar tirar um pouco do topo ou dos lados, você pode recortar uma imagem com o seguinte comando:

convert <SOURCE_FILE> -crop 640x250+0+0 <DEST_FILE>

Por exemplo, se a imagem de origem tiver 640 x 480 pixels, o comando acima resultaria em DEST_FILE sendo uma imagem de 640 x 250 pixels contendo a metade superior da imagem enquanto a metade inferior foi cortada. O +0+0 no comando acima especifica o ponto mais à esquerda da imagem ou, em outras palavras, onde começar a recortar.

Usando o exemplo acima, você pode salvar a metade inferior da imagem com o comando:

convert <SOURCE_FILE> -crop 640x250+0+230 <DEST_FILE>

Isso iniciará o corte em 0x230 na imagem de origem, cortando a metade superior e deixando apenas a metade inferior.

Girar imagem

Você pode até girar imagens usando o comando:

convert <SOURCE_FILE> -rotate 90 <DEST_FILE>

O comando acima girará a imagem de origem em 90 graus no sentido horário e salvará a imagem resultante em DEST_FILE.

Adicionar legenda à imagem

Outro excelente recurso da ferramenta converter é a capacidade de adicionar legendas instantaneamente às imagens, incluindo onde colocar a legenda na imagem, além da família de fontes, tamanho e cor a serem usadas. Use o seguinte comando para adicionar uma legenda a uma imagem:

convert profile.jpg -pointsize 14 -font helvetica -fill yellow -draw 'text 270,160 "Warm Regards from the Family" ' profile_cap.jpg

O comando acima colocará uma legenda de "Atenciosamente da família" na imagem de origem usando a fonte Helvetica 14pt em amarelo, com o ponto superior esquerdo da imagem começando em 270x160 pixels e salvando os resultados em DEST_FILE.

Observe que você deve ter cuidado com a opção -draw, que deve começar entre aspas simples, seguida da localização do ponto mais à esquerda no canto superior esquerdo e, em seguida, do texto da legenda entre aspas duplas.

Existe uma lista enorme de cores disponíveis, e se desejar você pode listar todas as cores suportadas pelo seu computador com o comando:

cb:>showrgb

A seleção de fontes varia dependendo do seu computador, mas todas as fontes padrão geralmente usadas estarão lá. Cada sistema operacional é um pouco diferente, mas no Ubuntu, por exemplo, as fontes estão localizadas no diretório /usr/share/fonts e contém uma lista de todas as fontes de sistema disponíveis que você pode usar no comando acima .

Comandos de edição de imagem de combinação e combinação

Você pode misturar e combinar qualquer uma das opções acima em um único comando para maior eficiência. Por exemplo, se você tiver uma imagem grande na orientação errada, com tamanho de 2571x1200 pixels, e quiser gerar uma miniatura de 300x200, poderá usar o comando:

convert <SOURCE_FILE> -rotate 90 -crop 1200x800 -resize 25% <DEST_FILE>

O acima primeiro giraria a imagem em 90 graus, tornando o novo tamanho de 1200x2571 pixels. Em seguida, cortaria o excesso da parte inferior para apenas 800 pixels de altura e, finalmente, redimensionaria a imagem para 25% de seu tamanho original, resultando em uma miniatura final de 300x200 pixels de tamanho.

Processar em lote um diretório de imagens

Tem um diretório inteiro de imagens que deseja processar com o mesmo comando? Não é problema no Linux. Por exemplo, você pode querer gerar miniaturas de todas as imagens em seu diretório de trabalho atual, redimensionando-as para 30% do tamanho atual:

mkdir thumbs
for i in `ls | grep .jpg$`; do convert $i -resize 30% thumbs/$i; done

O comando acima irá passar por todos os arquivos em seu diretório atual que possuem uma extensão .jpg, redimensioná-los para 30% de seu tamanho e colocar as miniaturas resultantes no subdiretório /thumbs/.

Manipulação de imagem facilitada!

Com este tutorial, esperamos que você tenha tirado a capacidade de manipular imagens sem dor e sem esforço por meio do terminal e processar em lote facilmente um diretório inteiro com um único comando.

Você aprendeu o que é a ferramenta converter do ImageMagick, além de como alterar o formato do arquivo, redimensionar, cortar, girar e adicionar legendas às imagens com facilidade. Há também uma grande quantidade de funcionalidades adicionais disponíveis---tente a opção convert -help para obter uma lista completa.

Artigos relacionados: