Como otimizar e comprimir JPEG ou PNG Imagens em Linux

A+ A-

Você quer otimizar as imagens ou comprimir as imagens sem perder a sua qualidade original antes de enviá-las para qualquer nuvem ou armazenamentos locais? Há uma abundância de aplicações GUI ou aplicações web que são disponíveis, que irá ajudá-lo a otimizar as imagens. Este artigo ajuda você a otimizar e comprimir as imagens JPEG ou PNG na linha de comando Linux.

usando jpegoptim

jpegoptim é um utilitário simples para otimizar imagens JPEG sem perder qualidade. Ele fornece otimização sem perdas e otimização de "perda" com base na configuração com um fator de máxima qualidade.

Para instalar jpegoptim, use o comando a seguir -

 $ Sudo apt-get install jpegoptim

A saída de amostra deve ser assim -

 Os seguintes pacotes foram instalados automaticamente e já não são necessários:
  gcc-4.8-Base: i386 libasn1-8-heimdal: libasound2 i386: i386
  libasound2-plugins: i386 libasyncns0: i386 libavahi-Client3: i386
  libavahi-common-data: i386 libavahi-common3: i386 Libbit-vector-perl
  libcapi20-3: i386 libcarp-clan-perl LibClass-método modificadores-perl
  libcups2: i386 libdata-random-perl libdate-calc-perl libdate-calc-xs-perl
  libdrm-amdgpu1: i386 libdrm-intel1: i386 libdrm-nouveau2: i386
  libdrm-radeon1: libedit2 i386: libelf1 i386: libexif12 i386: libexpat1 i386: i386
  libffi6: libflac8 i386: libfontconfig1 i386: libfreetype6 i386: i386
  libgcrypt11: i386 libgd-perl libgd3: libgif4 i386: i386
  libgl1-mesa-dri-lts-astuto: i386 libgl1-mesa-glx-lts-astuto: i386
  libglapi-mesa-lts-astuto: libglib2.0-0 i386: i386 libglu1-mesa: i386
  -Libgnome2-gconf perl libgnutls26: i386 libgpg-error0: libgphoto2-6 i386: i386
  libgphoto2-port10: i386 libgssapi-krb5-2: i386 libgssapi3-heimdal: i386
  libgstreamer-plugins-base0.10-0: libgstreamer0.10-0 i386: i386
  libhcrypto4-heimdal: i386 libheimbase1-heimdal: i386 libheimntlm0-heimdal: i386
  libhx509-5-heimdal: libice6 i386: libieee1284-3 i386: i386
  libjack-jackd2-0: libjbig0 i386: i386 libjpeg-turbo8: libjpeg8 i386: i386
  libk5crypto3: libkeyutils1 i386: i386 libkrb5-26-heimdal: libkrb5-3 i386: i386
  libkrb5support0: liblcms2-2 i386: i386 libldap-2.4-2: libllvm3.6 i386: i386
  libltdl7: libmouse-perl i386 libmpg123-0: i386 libnet-dropbox-api-perl
  libogg0: libopenal1 i386: i386 liborc-0,4-0: libosmesa6 i386: i386
  libp11-kit-gnome-keyring: i386 libp11-kit0: libpciaccess0 i386: i386
  libpulse0: i386 libroken18-heimdal: libsamplerate0 i386: libsane i386: i386
  libsasl2-2: libsasl2-módulos i386: i386 libsasl2-modules-db: i386 libsm6: i386
  libsndfile1: libspeexdsp1 i386: libsqlite3-0 i386: libssl1.0.0 i386: i386
  libstdc ++ 6: i386 libtasn1-6: i386 libtiff5: i386 libtxc-dxtn-s2tc0: i386
.........................

Usando jpegoptim Image Optimizer

Use o seguinte comando para otimizar o tp1.jpg file-

 $ Jpegoptim /home/linux/Desktop/tp1.jpg

A saída de amostra deve ser assim -

 /home/linux/Desktop/tp1.jpg 1024x744 24bit N IPTC Adobe JFIF [OK] 535222 -> 508663 bytes (4,96%), otimizado.

O comando acima otimiza as imagens para o tamanho máximo possível e reduz a 4,96% do tamanho do arquivo. No entanto, você pode comprimir a imagem dada para um tamanho específico, mas desativa a otimização sem perdas.

Por exemplo, comprimir a imagem acima para cerca de 250 mil, use o comando a seguir -

 $ Jpegoptim --size = 250k /home/linux/Desktop/tp1.jpg

A saída de amostra deve ser assim -

 /home/linux/Desktop/tp1.jpg 1024x744 24bit N IPTC JFIF [OK] 508663 -> 249866 bytes (50,88%), otimizado.

Para encontrar o tamanho do arquivo, use o seguinte command-

 $ Du SH /home/linux/Desktop/tp1.jpg

A saída de amostra deve ser assim -

 248K /home/linux/Desktop/tp1.jpg

O comando jpegoptim é comprimido para um tamanho de imagem de 248K. Se necessário, você pode alterar o tamanho das imagens.

Batch JPEG compressão de imagem e Otimização

jpegoptim pode comprimir as imagens em lote, agora selecione a pasta de imagens que você pode comprimir como mostrado abaixo-

 $ Cd / home / linux / Desktop / img
/ Desktop / img $ ls -l

O comando acima mostra a lista de todas as imagens, como mostrado abaixo -

 total de 2188
-rw-rw-r-- 1 linux linux 32616 27 de fevereiro 10:46 Converted_file_1a46a9ef.jpg
-rw-rw-r-- 1 linux linux 35925 27 de fevereiro 10:46 Converted_file_96eba41d.jpg
-rw-rw-r-- 1 linux linux 50600 27 de fevereiro 10:46 Converted_file_dd3307c9.jpg
-rw-rw-r-- 1 linux linux 5083 27 de fevereiro 10:48 LOGO122.png
-rw-rw-r-- 1 linux linux 2.047.570 27 de fevereiro 00:39 nexus_6_0134.jpg
-rw-rw-r-- 1 linux linux 36364 27 de fevereiro 10:45 unnamed.jpg

Você pode, então, execute o seguinte comando para compactar todas as imagens JPEG ao mesmo tempo.

 / Desktop / img $ jpegoptim --size = 250k * .jpg

A saída de amostra deve ser assim -

 Converted_file_1a46a9ef.jpg 480x800 24bit N JFIF [OK] 32616 -> 32616 bytes (0,00%), ignorados.
Converted_file_96eba41d.jpg 480x800 24bit N JFIF [OK] 35925 -> 35925 bytes (0,00%), ignorados.
Converted_file_dd3307c9.jpg 480x800 24bit N JFIF [OK] 50600 -> 50600 bytes (0,00%), ignorados.
nexus_6_0134.jpg 1607x2896 24bit N Exif IPTC ICC JFIF [OK] 1889349 -> 260524 bytes (86,21%), otimizado.
unnamed.jpg 480x800 24bit N JFIF [OK] 36364 -> 24816 bytes (31,76%), otimizado.

No resultado acima, tem comprimido arquivos JPG em 250 mil arquivos de tamanho.

Para compactar os arquivos selecionados, use o comando a seguir -

 jpegoptim file_name.jpg file_name1.jpg file_name2.jpg

Para mais detalhes sobre jpegoptim, use o seguinte command-

 $ Man jpegoptim 

A saída de amostra deve ser assim -

 NOME
       jpegoptim - utilitário para otimizar / arquivos JPEG / JFIF compressa.

SINOPSE
       jpegoptim [opções] [nomes]

DESCRIÇÃO
       jpegoptim é usado para otimizar / comprimir arquivos JPEG. apoia o programa
       optimização sem perdas, que se baseia na optimização das tabelas Huffman.
       E assim chamada otimização "lossy", onde além de otimizar
       Huffman tabelas usuário pode especificar UPPERLIMIT para qualidade de imagem.

OPÇÕES
       As opções podem ser tanto as tradicionais POSIX um opções de letra, ou o
       longas opções de estilo GNU. opções de estilo POSIX começar com um único `` - '',
       enquanto GNU opções longas começar com `` - ''.

       Opções oferecidas pelo jpegoptim são os seguintes:

       -d, --dest =
.....................

Otimizar imagens PNG

OptiPNG é um utilitário simples para otimizar imagens PNG sem perder nenhuma informação. Este programa também converte formatos externos (BMP, GIF, PNM e TIFF) para PNG otimizados, e realiza verificações de integridade PNG e correções.

Para instalar OptiPNG, use o comando a seguir -

 $ Sudo apt-get install OptiPNG

A saída de amostra deve ser assim -

 árvore de dependência edifício       
Lendo informação de estado ... Feito
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
  gcc-4.8-Base: i386 libasn1-8-heimdal: libasound2 i386: i386
  libasound2-plugins: i386 libasyncns0: i386 libavahi-Client3: i386
  libavahi-common-data: i386 libavahi-common3: i386 Libbit-vector-perl
  libcapi20-3: i386 libcarp-clan-perl LibClass-método modificadores-perl
  libcups2: i386 libdata-random-perl libdate-calc-perl libdate-calc-xs-perl
  libdrm-amdgpu1: i386 libdrm-intel1: i386 libdrm-nouveau2: i386
  libdrm-radeon1: libedit2 i386: libelf1 i386: libexif12 i386: libexpat1 i386: i386
  libffi6: libflac8 i386: libfontconfig1 i386: libfreetype6 i386: i386
  libgcrypt11: i386 libgd-perl libgd3: libgif4 i386: i386
  libgl1-mesa-dri-lts-astuto: i386 libgl1-mesa-glx-lts-astuto: i386
  libglapi-mesa-lts-astuto: libglib2.0-0 i386: i386 libglu1-mesa: i386
  -Libgnome2-gconf perl libgnutls26: i386 libgpg-error0: libgphoto2-6 i386: i386
.........................................

Para verificar o tamanho real do PNG, use o seguinte comando

 $ Ls -lh /home/linux/Desktop/logo.png

A saída de amostra deve ser assim -

 -rw-rw-r-- 1 linux linux 3.4M 03 de março 00:05 /home/linux/Desktop/logo.png

Aqui o tamanho da imagem acima arquivo real é 3.4MB, agora compactar esse arquivo, executando o comando a seguir -

 $ Optipng /home/linux/Desktop/logo.png

A saída de amostra deve ser assim -

 Copyright (C) 2001-2010 Cosmin Truta.

** Processamento: /home/linux/Desktop/logo.png
2560x1920 pixels, pedaços 3X8 / pixel, RGB
tamanho IDAT entrada = 3506320 bytes
de tamanho de arquivo de entrada = 3511513 bytes

tentando:
  tamanho zc = 9 ZM = 8 zs = 0 F = 5 = 3260520 IDAT
  tamanho zc = 9 ZM = 8 zs = 1 = F = 5 IDAT 3.257.566
                               
A seleção de parâmetros:
  tamanho zc = 9 ZM = 8 zs = 1 = F = 5 IDAT 3.257.566

IDAT saída size = 3257566 bytes (248754 bytes redução)
arquivo de saída size = 3257623 bytes (253890 bytes = 7,23% de diminuição)

Agora, verifique o tamanho do log.png. Use o seguinte command-

 $ Ls -lh /home/linux/Desktop/logo.png

A saída de amostra deve ser assim -

 -rw-rw-r-- 1 linux linux 3.2M 03 de março 00:07 /home/linux/Desktop/logo.png

Como você pode ver na saída acima, o tamanho do arquivo tecmint.png foi reduzido em até 7,23% .Open a imagem compactada em qualquer aplicativo visualizador de imagens, você não vai encontrar grandes diferenças entre os arquivos originais e compactados.

Batch PNG compressão de imagem e Otimização

Para comprimir lote ou múltiplas imagens PNG de uma só vez, use os seguintes comandos -

 $ Cd / home / linux / Desktop / img /
~ / Desktop / img $ optipng * .png

A saída de amostra deve ser assim -

 Copyright (C) 2001-2010 Cosmin Truta.

** Processamento: LOGO122.png
149x90 pixels, pedaços 4x8 / pixel, RGB + alfa
tamanho IDAT entrada = 5026 bytes
de tamanho de arquivo de entrada = 5083 bytes

tentando:
  tamanho zc = 9 zm = 8 ZS = 0 f = 0 IDAT = 4934
                               
A seleção de parâmetros:
  tamanho zc = 9 zm = 8 ZS = 0 f = 0 IDAT = 4934

Saída tamanho IDAT = 4934 bytes (92 bytes redução)
arquivo de saída size = 4991 bytes (92 bytes = 1,81% de diminuição)

Para mais detalhes sobre optipng, use o comando a seguir -

 Homem optipng $

A saída de amostra deve ser assim -

 NOME
       OptiPNG - programa de otimização avançada para Portable Network Graphics
       (PNG)

SINOPSE
       OptiPNG [-? | -h | -Socorro]
       OptiPNG [opções ...] arquivos ...

DESCRIÇÃO
       O programa OptiPNG deve tentar otimizar arquivos PNG, ou seja, reduzir
       o seu tamanho ao mínimo, sem perder nenhuma informação. Além,
       este programa deverá realizar um conjunto de funções auxiliares, como
       verificações de integridade, recuperação de metadados e de conversão pixmap-to-PNG.

       As tentativas de otimização não são garantia de sucesso. PNG válida
       arquivos que não podem ser otimizados por este programa normalmente são deixados
       intacta; o seu tamanho não vão crescer. O utilizador pode pedir para substituir esse
       comportamento padrão.
................................

Parabéns! Agora, você sabe "Como otimizar e comprimir JPEG ou PNG Imagens em linha de comando Linux". Vamos saber mais sobre esses tipos de comandos no nosso próximo post Linux. Continue lendo!