Ricerca nel sito web

Come ottimizzare e comprimere immagini JPEG o PNG nella riga di comando di Linux


Hai molte immagini e desideri ottimizzare e comprimere le immagini senza perdere la qualità originale prima di caricarle su qualsiasi cloud o archivio locale? Sono disponibili numerose applicazioni GUI che ti aiuteranno a ottimizzare le immagini. Tuttavia, ecco due semplici utilità da riga di comando per ottimizzare le immagini e sono:

  1. jpegoptim – è un'utilità per ottimizzare/comprimere file JPEG senza perdere la qualità.
  2. OptiPNG – è un piccolo programma che ottimizza le immagini PNG riducendole a dimensioni minori senza perdere alcuna informazione.

Utilizzando questi due strumenti, puoi ottimizzare una o più immagini alla volta.

Comprimi o ottimizza le immagini JPEG dalla riga di comando

jpegoptim è uno strumento da riga di comando che può essere utilizzato per ottimizzare e comprimere file JPEG, JPG e JFIF senza perdere la qualità effettiva. Questo strumento supporta l'ottimizzazione senza perdite, che si basa sull'ottimizzazione delle tabelle Huffman.

Installa jpegoptim su Linux

Per installare jpegoptim sui tuoi sistemi Linux, esegui il seguente comando dal tuo terminale.

Su Debian e i suoi derivati
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
Su sistemi basati su RedHat

Sui sistemi basati su RPM come RHEL, CentOS, Fedora ecc., è necessario installare e abilitare il repository EPEL o, in alternativa, è possibile installare il file epel repository direttamente dalla riga di comando come mostrato:

yum install epel-release
dnf install epel-release    [On Fedora 22+ versions]

Successivamente installa il programma jpegoptim dal repository come mostrato:

yum install jpegoptim
dnf install jpegoptim    [On Fedora 22+ versions]

Come utilizzare l'ottimizzatore di immagini Jpegoptim

La sintassi di jpegoptm è:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Comprimiamo ora la seguente immagine tecmint.jpeg, ma prima di ottimizzare l'immagine, scopriamo prima la dimensione effettiva dell'immagine utilizzando il comando du come mostrato.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Qui la dimensione effettiva del file è 6,2 MB, ora comprimi questo file eseguendo:

jpegoptim tecmint.jpeg 

Apri l'immagine compressa in qualsiasi applicazione di visualizzazione immagini, non troverai differenze sostanziali. Le immagini sorgente e compresse avranno la stessa qualità.

Il comando precedente ottimizza le immagini alla massima dimensione possibile. Tuttavia, puoi comprimere l'immagine specificata a una dimensione specifica, ma ciò disabilita l'ottimizzazione senza perdita di dati.

Ad esempio, comprimiamo sopra l'immagine da 5,6 MB a circa 250k.

jpegoptim --size=250k tecmint.jpeg

Compressione e ottimizzazione batch di immagini JPEG

Potresti chiedere come comprimere le immagini nell'intera directory, anche questo non è difficile. Vai alla directory in cui hai le immagini.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG

Quindi esegui il comando seguente per comprimere tutte le immagini contemporaneamente.

tecmint@tecmint ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif  [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif  [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif  [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif  [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif  [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif  [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif  [OK] 5931738 --> 5337023 bytes (10.03%), optimized.

Puoi anche comprimere più immagini selezionate contemporaneamente:

$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG 
DSC_0310.JPG 6000x4000 24bit N Exif  [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif  [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif  [OK] 7174430 --> 6536500 bytes (8.89%), optimized.

Per maggiori dettagli sullo strumento jpegoptim, consulta le pagine man.

man jpegoptim 

Comprimi o ottimizza le immagini PNG dalla riga di comando

OptiPNG è uno strumento da riga di comando utilizzato per ottimizzare e comprimere i file PNG (grafica di rete portatile) senza perdere la qualità originale.

L'installazione e l'utilizzo di OptiPNG sono molto simili a jpegoptim.

Installa OptiPNG su Linux

Per installare OptiPNG sui tuoi sistemi Linux, esegui il seguente comando dal tuo terminale.

Su Debian e i suoi derivati
apt-get install optipng
or
sudo apt-get install optipng
Su sistemi basati su RedHat
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Nota: devi avere epel repository abilitato sui tuoi sistemi basati su RHEL/CentOS per installare optipng programma.

Come utilizzare l'ottimizzatore di immagini OptiPNG

La sintassi generale di optipng è:

optipng filename.png
optipng [options] filename.png

Comprimiamo l'immagine tecmint.png, ma prima di ottimizzare, controlla prima la dimensione effettiva dell'immagine come mostrato:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Qui la dimensione effettiva del file dell'immagine sopra è 350K, ora comprimi questo file eseguendo:

tecmint@tecmint ~/img $ optipng tecmint.png 
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 249211

Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)

Come puoi vedere nell'output sopra, la dimensione del file tecmint.png è stata ridotta fino al 30,39%. Ora verifica nuovamente la dimensione del file utilizzando:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Apri l'immagine compressa in qualsiasi applicazione di visualizzazione immagini, non troverai differenze sostanziali tra il file originale e quello compresso. Le immagini sorgente e compresse avranno la stessa qualità.

Compressione e ottimizzazione batch di immagini PNG

Per comprimere batch o più immagini PNG contemporaneamente, basta andare nella directory in cui risiedono tutte le immagini ed eseguire il seguente comando per comprimere.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ optipng *.png

OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388
                               
Selecting parameters:
  zc = 9  zm = 8  zs = 0  f = 0		IDAT size = 81388

Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)

** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes

Trying:
  zc = 9  zm = 8  zs = 0  f = 5		IDAT size = 222479
  zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 220311
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744
                               
Selecting parameters:
  zc = 1  zm = 8  zs = 2  f = 5		IDAT size = 216744

Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....

Per maggiori dettagli sull'attivazione controlla le pagine man.

man optipng

Conclusione

Se sei un webmaster e desideri pubblicare immagini ottimizzate sul tuo sito web o blog, questi strumenti possono essere molto utili. Questi strumenti non solo consentono di risparmiare spazio su disco, ma riducono anche la larghezza di banda durante il caricamento delle immagini.

Se conosci qualche altro modo migliore per ottenere la stessa cosa, faccelo sapere tramite commenti e non dimenticare di condividere questo articolo sui tuoi social network e supportarci.