GNU/Linux >> Linux Esercitazione >  >> Linux

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

Hai molte immagini e vuoi ottimizzare e comprimere le immagini senza perdere la qualità originale prima di caricarle su qualsiasi cloud o archivio locale? Sono disponibili molte 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 i file JPEG senza perdere la qualità.
  2. OptiPNG – è un piccolo programma che ottimizza le immagini PNG a dimensioni inferiori 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 perdita di dati, che si basa sull'ottimizzazione delle tabelle di Huffman.

Installa jpegoptim in 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

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

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

Quindi 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 il seguente tecmint.jpeg image, ma prima di ottimizzare l'immagine, scopri prima la dimensione effettiva dell'immagine usando du command 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 di immagini, non troverai grandi differenze. La sorgente e le immagini compresse avranno la stessa qualità.

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

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

$ jpegoptim --size=250k tecmint.jpeg

Compressione e ottimizzazione delle immagini JPEG in batch

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

[email protected] ~ $ cd img/
[email protected] ~/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

E quindi esegui il comando seguente per comprimere tutte le immagini contemporaneamente.

[email protected] ~/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 su jpegoptim strumento, controlla 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 è molto simile a jpegoptim .

Installa OptiPNG in 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 repository epel abilitato su RHEL/CentOS sistemi basati per installare optipng programma.

Come utilizzare OptiPNG Image Optimizer

La sintassi generale di optipng è:

$ optipng filename.png
$ optipng [options] filename.png

Comprimiamo il tecmint.png immagine, ma prima di ottimizzare, controlla prima le dimensioni effettive dell'immagine come mostrato:

[email protected] ~/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:

[email protected] ~/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 di tecmint.png il file è stato ridotto fino al 30,39% . Ora verifica di nuovo la dimensione del file usando:

[email protected] ~/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 di immagini, non troverai grandi differenze tra i file originali e quelli compressi. La sorgente e le immagini compresse avranno la stessa qualità.

Compressione e ottimizzazione batch di immagini PNG

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

[email protected] ~ $ cd img/
[email protected] ~/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'ottimizzazione 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 un 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.


Linux
  1. Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

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

  3. Come analizzare e stampare in modo grazioso JSON con gli strumenti della riga di comando di Linux

  4. Come comprimere e decomprimere file in Linux

  5. Come archiviare e comprimere file su Linux

Come convertire in batch le immagini PNG in formato JPG in Linux

Come ritagliare e ridimensionare le immagini su Linux usando Gwenview

Come comprimere il file immagine PNG in Linux

Come convertire PDF in immagini PNG e viceversa in Linux

Come eliminare file e directory utilizzando la riga di comando di Linux

Come installare e utilizzare Pigz per comprimere i file più velocemente in Linux