Formas de pagamento Abuse

Otimizar imagens no Linux

16.06.2021, 19:33

Se tiver imagens suficientes no seu computador e estas estiverem a ocupar demasiado espaço, é definitivamente possível reduzir o seu tamanho, mesmo sem perder qualidade. Isto também pode ser muito útil ao carregar imagens para o armazenamento na nuvem.

Neste artigo, vamos ver como é feita a otimização de imagens no Linux. Há uma variedade de ferramentas gráficas para resolver esta tarefa, mas na realidade tudo é mais simples. Em seguida, veremos como comprimir imagens usando dois utilitários de linha de comandos de consola simples mas muito eficazes: o jpegoptim é um utilitário para otimizar e comprimir imagens JPEG sem perda de qualidade; o optipng é um pequeno programa que permite reduzir o tamanho das imagens PNG sem perda de qualidade.

JPEG e PNG são os formatos de imagem mais comuns na Internet, pelo que poderá otimizar quase todas as imagens

Otimizar imagens JPEG

Existe um utilitário chamado jpegoptim, uma ferramenta de linha de comandos que pode ser utilizada para comprimir imagens JPEG, JPG e JFIF sem perda de qualidade. O utilitário optimiza as imagens com base nas tabelas Huffman. O algoritmo JPEG usa a compressão como está, mas esta compressão é conseguida com perda de qualidade, e aqui podemos otimizar o tamanho sem alterar a imagem.

INSTALANDO O JPEGOPTIM

Para instalar o utilitário no Ubuntu, Debian e distribuições baseadas, execute:

$ sudo apt install jpegoptim

No Fedora, Red Hat, CentOS e outras distribuições baseadas neles as coisas são um pouco mais complicadas, terá que adicionar o repositório epel-release primeiro. Pode fazer isso com um comando como este:

$ sudo yum install epel-release

Ou:

$ sudo dnf install epel-release

Depois pode instalar o jpegoptim a partir do repositório que acabou de adicionar:

$ sudo yum install jpegoptim

Or:

$ sudo dnf install jpegoptim

COMO USAR O JPEGOPTIM

Vamos dar uma olhada em como usar o jpegoptim. Usar o utilitário de compressão de imagens do Linux é muito fácil. Tudo o que precisa de fazer é executar o programa e passar-lhe um nome de ficheiro. Esta é a sintaxe:

$ jpegoptim optiona file_name.jpeg

Vamos ver as opções do utilitário:

  • -d - especifica a pasta na qual salvar as imagens finalizadas;
  • -f - otimização forçada;
  • -m - indicador de qualidade, cancela a compressão sem perdas e define o nível de qualidade de 0 a 100, quanto mais, melhor;
  • -n - não executa a otimização real, apenas mostra o resultado;
  • -S - define o tamanho da imagem finalizada, pode ser especificado em percentagem ou em kilobytes;
  • -o - substitui o ficheiro fonte;
  • -p - guarda as marcas de tempo;
  • -P - guarda os direitos do ficheiro.

Vamos ver como otimizar imagens no linux com o jpegoptim. Primeiro, vamos ver o tamanho original:

$ du image.jpg

Otimizar imagens no Linux

A seguir fazemos a otimização mais simples:

$ jpegoptim image.jpg

Otimizar imagens no Linux

Depois, olhamos novamente para o tamanho:

$ du image.jpg

Otimizar imagens no Linux

Como podem ver, a compressão jpg funcionou, e abrindo a imagem em qualquer programa gráfico não haverá diferença ou degradação na qualidade, a imagem original e a finalizada serão idênticas. À esquerda está a imagem optimizada, à direita está a original:

Otimizar imagens no Linux

Se quiser, pode comprimir a imagem até um determinado tamanho, mas nesse caso não será sem perdas:

$ jpegoptim --size=250k image.jpeg

A imagem será comprimida, mas a qualidade deteriorar-se-á visivelmente. Se existirem muitas imagens, pode facilmente utilizar a compressão em lote. Basta ir à pasta com as imagens e executar o comando de compressão, especificando uma máscara em vez de um ficheiro, por exemplo:

$ cd images/

jpegoptim *.jpg

Otimizar imagens no Linux

Também é possível listar mais de uma imagem de cada vez:

$ jpegoptim image1.jpg image2.jpg

Para otimizar todas as imagens de uma determinada pasta, pode utilizar o comando xargs juntamente com find. Por exemplo, comprimir todas as imagens na pasta atual com move to the ~/compressed folder:

$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p

É isso, agora você sabe como comprimir imagens jpg no Linux. A seguir, vamos falar sobre como comprimir imagens png. Isto também é muito simples.

OPTIMIZANDO IMAGENS PNG NO LINUX

PNG ou Portable Network Graphics é um formato de imagem bitmap concebido para substituir o imperfeito formato GIF em termos de compressão e reprodução de cores. O tamanho das imagens PNG pode variar muito, dependendo de vários factores, como a profundidade de cor, o entrelaçamento, o filtro antes da compressão, o algoritmo de compressão utilizado, etc.

O OptiPNG é um utilitário de consola que permite otimizar imagens PNG. Nomeadamente, comprimir o tamanho, recuperar metadados, verificar a integridade, etc. Com o OptiPNG pode comprimir ficheiros sem perda de qualidade, tal como fizemos com o formato Jpeg.

INSTALAR O OPTIPNG

Se estiver a usar o Ubuntu, o programa está nos repositórios oficiais e pode instalá-lo muito facilmente. Para instalar o optipng no Debian, Ubuntu e derivados digite:

$ sudo apt install optipng

No Red Hat, CentOS ou Fedora é feito exatamente da mesma forma, apenas com um gestor de pacotes diferente:

$ sudo yum install optipng

Ou:

$ sudo dnf install optipng

COMPRESSÃO DE IMAGENS COM OPTIPNG

A sintaxe do utilitário é muito simples. Pode utilizá-lo exatamente da mesma forma que o jpegoptim:

$ optipng ioptions file_name.png

Vamos dar uma olhada nas opções do utilitário:

  • -backup - guarda cópias dos ficheiros modificados;
  • -dir - pasta para onde escrever os ficheiros;
  • -force - força a escrita do ficheiro de saída;
  • -out - escreve o ficheiro de saída para o ficheiro especificado;
  • -simulate - não executa nenhuma ação, mas apenas mostra o resultado;
  • -o - define o nível de compressão de 0 a 7.

Agora vamos tentar otimizar o png no linux. Primeiro vamos ver o tamanho do ficheiro:

$ df -h image.png

Otimizar imagens no Linux

Para efetuar a compressão da imagem use o seguinte comando:

$ optipng image.png

Depois voltemos a ver o tamanho, neste exemplo as diferenças não são visíveis porque a imagem é muito pequena, mas num tamanho maior serão significativas:

Aqui também a compressão de imagens png linux sem perdas, o que significa que obterá exatamente a mesma imagem só que mais pequena. Também pode especificar o nível de compressão, que não afecta a qualidade da imagem, mas afecta diretamente o tempo de execução do programa. O valor pode ser de 0 a 7 e, quanto maior for, mais forte será a compressão e mais longo será o processamento:

$ optipng -o 7 impge.png

Para o processamento de imagens em lote, pode utilizar o mesmo princípio que no trabalho com jpeg:

$ cd images/

$ optipng *.png

Agora já sabe como é feita a otimização de imagens no linux.