Como manipular imagens no terminal Linux

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 de conversão do Linux, que permite fazer tudo isso com o terminal por meio da linha de comando e muito mais.

Instale ImageMagick

A ferramenta de conversão é parte do popular pacote imagemagick , que você precisa ter instalado. Verifique se o ImageMagick foi instalado ou não com o comando:

 convert --version

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

 sudo apt-get -y install imagemagick

Obtenha informações sobre a imagem

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

 convert <FILENAME> -print "Type: %m
Size: %b
Dimensions: %wx%h
" /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 <SOURCE_FILE>, convertê-lo no formato apropriado e salvar uma nova imagem em <DEST_FILE> Você deve usar as extensões de arquivo corretas (ou seja, JPG, GIF, PNG, etc.) para o DEST_FILE e ele irá detectar automaticamente para qual formato converter a imagem.

Redimensionar uma imagem no Linux

Se você deseja redimensionar uma imagem, ou talvez gerar rapidamente uma miniatura, pode fazer isso 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 você precisar ampliar uma imagem, 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 1024×768 pixels e salvaria a nova imagem em DEST_FILE.

Cortar uma imagem

Se precisar tirar um pouco da parte superior ou das laterais, você pode cortar uma imagem com o seguinte comando:

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

Por exemplo, se a imagem de origem tinha 640×480 pixels, o comando acima resultaria em DEST_FILE sendo uma imagem de 640×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 o corte.

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

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

Isso começará 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 irá 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 de conversão é a capacidade de adicionar legendas instantaneamente às imagens, incluindo onde na imagem colocar a legenda, além da família da fonte, tamanho e cor a serem usados. 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 270×160 pixels, e salvará os resultados em DEST_FILE.

Observe que você deve ter cuidado com a opção -draw , que deve começar com aspas simples, seguido pela localização do ponto superior esquerdo e, em seguida, pelo 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 imagens combinados e combinados

Você pode misturar e combinar qualquer uma das opções acima em um único comando para maior eficiência. Por exemplo, se você tem uma imagem grande que está na orientação errada, 2571×1200 pixels de tamanho, e deseja gerar uma miniatura de 300×200, você pode usar o comando:

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

O exemplo acima giraria primeiro a imagem em 90 graus, tornando o novo tamanho de 1200×2571 pixels. Em seguida, ele cortaria o excesso na parte inferior para que tivesse apenas 800 pixels de altura e, finalmente, redimensionaria a imagem para 25% do seu tamanho original, resultando em uma miniatura final de 300×200 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 desejar gerar miniaturas de todas as imagens em seu diretório de trabalho atual, redimensionando-as para 30% do atual:

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

O comando acima irá percorrer todos os arquivos em seu diretório atual que tenham 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, você provavelmente eliminou a capacidade de manipular imagens sem esforço e sem dor por meio do terminal e processar facilmente em lote um diretório inteiro com um único comando.

Você aprendeu o que é a ferramenta de conversão 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 uma lista completa.