Metodi di pagamento Abuse

Ottimizzazione delle immagini in Linux

16.06.2021, 19:33

Se le immagini presenti sul computer occupano troppo spazio, è possibile ridurne le dimensioni senza perdere la qualità. Questo può essere molto utile anche quando si caricano immagini su cloud storage.

In questo articolo vedremo come avviene l'ottimizzazione delle immagini in Linux. Esistono diversi strumenti grafici per risolvere questo compito, ma in realtà tutto è più semplice. Vedremo poi come comprimere le immagini utilizzando due semplici ma molto efficaci utility da riga di comando della console: jpegoptim è un'utility per ottimizzare e comprimere le immagini JPEG senza perdita di qualità; optipng è un piccolo programma che consente di ridurre le dimensioni delle immagini PNG senza perdita di qualità.

JPEG e PNG sono i formati di immagine più comuni su Internet, quindi potrete ottimizzare quasi tutte le immagini.

Ottimizzazione delle immagini JPEG

Esiste un'utility chiamata jpegoptim, uno strumento a riga di comando che può essere utilizzato per comprimere le immagini JPEG, JPG e JFIF senza perdita di qualità. L'utility ottimizza le immagini sulla base delle tabelle Huffman. L'algoritmo JPEG utilizza la compressione così com'è, ma questa viene ottenuta con una perdita di qualità; in questo caso è possibile ottimizzare le dimensioni senza modificare l'immagine.

INSTALLAZIONE DI JPEGOPTIM

Per installare l'utility in Ubuntu, Debian e distribuzioni basate, eseguire:

$ sudo apt install jpegoptim

In Fedora, Red Hat, CentOS e altre distribuzioni basate su di esse le cose sono un po' più complicate, dovrete prima aggiungere il repository epel-release. È possibile farlo con un comando come questo:

$ sudo yum install epel-release

Oppure:

$ sudo dnf install epel-release

Poi si può installare jpegoptim dal repository appena aggiunto:

$ sudo yum install jpegoptim

Oppure:

$ sudo dnf install jpegoptim

COME USARE JPEGOPTIM

Vediamo come usare jpegoptim. L'uso dell'utilità di compressione delle immagini di Linux è molto semplice. Tutto quello che dovete fare è eseguire il programma e passargli un nome di file. Questa è la sintassi:

$ jpegoptim optiona file_name.jpeg

Vediamo le opzioni dell'utilità:

  • -d - specifica la cartella in cui salvare le immagini finite;
  • -f - ottimizzazione forzata;
  • -m - indicatore di qualità, annulla la compressione senza perdita e imposta il livello di qualità da 0 a 100, più è alto meglio è;
  • -n - non esegue l'ottimizzazione vera e propria, ma mostra solo il risultato;
  • -S - imposta la dimensione dell'immagine finita, che può essere specificata in percentuale o in kilobyte;
  • -o - sostituisce il file sorgente;
  • -p - salva i timestamp;
  • -P - salva i diritti del file.

Vediamo come ottimizzare le immagini in Linux con jpegoptim. Per prima cosa, esaminiamo le dimensioni originali:

$ du image.jpg

Ottimizzazione delle immagini in Linux

Poi eseguiamo l'ottimizzazione più semplice:

$ jpegoptim image.jpg

Ottimizzazione delle immagini in Linux

Poi guardiamo di nuovo le dimensioni:

$ du image.jpg

Ottimizzazione delle immagini in Linux

Come si può vedere, la compressione jpg ha funzionato e aprendo l'immagine in un qualsiasi programma di grafica non ci sarà alcuna differenza o degrado della qualità, l'immagine originale e quella finita saranno identiche. A sinistra l'immagine ottimizzata, a destra l'originale:

Ottimizzazione delle immagini in Linux

Se si vuole, si può comprimere l'immagine fino a una certa dimensione, ma in questo caso non sarà senza perdite:

$ jpegoptim --size=250k image.jpeg

L'immagine sarà compressa, ma la qualità si deteriorerà notevolmente. Se ci sono molte immagini, si può usare molto facilmente la compressione batch, basta andare alla cartella con le immagini e poi eseguire il comando di compressione specificando una maschera invece di un file, per esempio:

$ cd images/

jpegoptim *.jpg

Ottimizzazione delle immagini in Linux

È anche possibile elencare più di un'immagine alla volta:

$ jpegoptim image1.jpg image2.jpg

Per ottimizzare tutte le immagini in una determinata cartella è possibile utilizzare il comando xargs insieme a find. Ad esempio, comprimere tutte le immagini nella cartella corrente con move nella cartella ~/compressed:

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

Ecco fatto, ora sapete come comprimere le immagini jpg in Linux. Ora parleremo di come comprimere le immagini png. Anche questo è molto semplice.

OTTIMIZZAZIONE DELLE IMMAGINI PNG IN LINUX

PNG o Portable Network Graphics è un formato di immagine bitmap progettato per sostituire l'imperfetto formato GIF in termini di compressione e riproduzione dei colori. Le dimensioni delle immagini PNG possono variare notevolmente in base a diversi fattori, quali la profondità di colore, l'interlacciamento, il filtro di compressione precedente, l'algoritmo di compressione utilizzato, ecc.

OptiPNG è un'utility per console che consente di ottimizzare le immagini PNG. In particolare, comprime le dimensioni, recupera i metadati, controlla l'integrità, ecc. Con OptiPNG è possibile comprimere i file senza perdita di qualità, proprio come abbiamo fatto con il formato Jpeg.

INSTALLARE OPTIPNG

Se utilizzate Ubuntu, il programma è presente nei repository ufficiali e potete installarlo molto facilmente. Per installare optipng in Debian, Ubuntu e derivati digitate:

$ sudo apt install optipng

In Red Hat, CentOS o Fedora si fa esattamente allo stesso modo, solo con un gestore di pacchetti diverso:

$ sudo yum install optipng

Oppure:

$ sudo dnf install optipng

COMPRESSIONE DELLE IMMAGINI CON OPTIPNG

La sintassi dell'utilità è molto semplice. Si può usare esattamente come jpegoptim:

$ optipng ioptions file_name.png

Vediamo le opzioni dell'utilità:

  • -backup - salva le copie dei file modificati;
  • -dir - cartella in cui scrivere i file;
  • -force - forza la scrittura del file in uscita;
  • -out - scrive il file in uscita nel file specificato;
  • -simula - non esegue alcuna azione, ma mostra solo il risultato;
  • -o - imposta il livello di compressione da 0 a 7.

Ora proviamo a ottimizzare png in Linux. Per prima cosa vediamo la dimensione del file:

$ df -h image.png

Ottimizzazione delle immagini in Linux

Per eseguire la compressione delle immagini utilizzate il seguente comando:

$ optipng image.png

In questo esempio le differenze non sono visibili perché l'immagine è molto piccola, ma con dimensioni maggiori saranno significative:

Anche in questo caso la compressione png linux delle immagini è priva di perdite, il che significa che si otterrà esattamente la stessa immagine, solo più piccola. È inoltre possibile specificare il livello di compressione, che non influisce sulla qualità dell'immagine, ma influisce direttamente sul tempo di esecuzione del programma. Il valore può andare da 0 a 7 e più è alto, più forte è la compressione e più lunga sarà l'elaborazione:

$ optipng -o 7 impge.png

Per l'elaborazione in batch delle immagini si può utilizzare lo stesso principio del lavoro con jpeg:

$ cd images/

$ optipng *.png

Ora sapete come viene eseguita l'ottimizzazione delle immagini in Linux.