GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ottimizza le immagini JPEG/JPG in Ubuntu con Jpegoptim

La capacità di risoluzione delle immagini degli odierni dispositivi di acquisizione di foto come smartphone e fotocamere digitali aumenta di giorno in giorno. Il vero affare arriva quando dobbiamo condividere queste immagini, caricarle su una struttura cloud o persino salvarle su un dispositivo con spazio di archiviazione limitato. Anche i grafici devono affrontare lo stesso problema, ma sono ben dotati di strumenti in grado di comprimere le immagini in modo che possano essere facilmente condivise con le parti interessate.

Per Ubuntu, ci sono molte utilità grafiche che ti permetterebbero di ottimizzare e comprimere i tuoi jpeg, ma qui discuteremo di uno strumento da riga di comando chiamato Jpegoptim. Ciò è particolarmente utile per gli esperti di terminale che amano svolgere le proprie attività utilizzando risorse di sistema minime. Jpegoptim può aiutarti a comprimere i tuoi file jpegs, jpg e jfif con e senza perdita di qualità, a seconda di ciò che stai cercando.

In questo articolo, descriveremo come installare l'utilità della riga di comando Jpegoptim su Ubuntu. Spiegheremo anche vari modi in cui puoi utilizzare questa applicazione per ottimizzare e comprimere i tuoi file di immagine jpeg. L'articolo ti consentirà anche di scrivere ed eseguire uno script bash che automatizza il processo di compressione di tutti i jpeg che si trovano in un'unica directory.

Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Ubuntu 18.04 LTS.

Installazione di Jpegoptim su Ubuntu

Jpegoptim è facilmente disponibile tramite il repository ufficiale di Ubuntu e può essere facilmente installato tramite la riga di comando utilizzando il comando apt-get.

Apri l'applicazione Terminale tramite la ricerca di avvio dell'applicazione di sistema o tramite la scorciatoia Ctrl+Alt+T.

Il passaggio successivo consiste nell'aggiornare l'indice del repository del tuo sistema tramite il seguente comando:

$ sudo apt-get update

Questo ti aiuta a installare l'ultima versione disponibile di un software da Internet. Tieni presente che solo un utente autorizzato può aggiungere, rimuovere e configurare software su Ubuntu.

Ora sei pronto per installare Image Jpegoptim; puoi farlo eseguendo il seguente comando come sudo:

$ sudo apt-get install jpegoptim

Il sistema potrebbe chiederti la password per sudo e fornirti anche un'opzione S/n per continuare l'installazione. Inserisci Y e poi premi invio; il software verrà installato sul tuo sistema. Tuttavia, il processo potrebbe richiedere del tempo a seconda della velocità di Internet.

Puoi controllare il numero di versione dell'applicazione, e anche verificare che sia effettivamente installata sul tuo sistema, tramite il seguente comando:

$ jpegoptim --version

Utilizzo di Jpegoptim per la compressione delle immagini

Esploriamo ora la potenza di Jpegoptim attraverso i seguenti modi in cui puoi usarlo:

Comprimere senza perdita di dati una singola immagine

Se vuoi comprimere una singola immagine senza voler compromettere la qualità, usa il seguente comando:

$ jpegoptim nome_immagine.jpg

Esempio:

$ jpegoptim sample.jpg

Nota: Tieni presente che lo strumento sovrascrive l'immagine esistente, quindi è una buona idea salvare l'immagine originale da qualche altra parte.

Se vuoi che l'immagine venga ulteriormente compressa, puoi eseguire di nuovo lo stesso comando. Tuttavia, Jpegoptim inizierà a saltare la compressione se raggiunge il limite in cui hai una qualità dell'immagine senza perdita di dati con la massima compressione.

Ecco come sarebbe l'output in una situazione del genere:

Comprime un'immagine in un'altra cartella

Se hai paura di perdere l'immagine originale perché Jpegoptim la sovrascriverà, puoi dire allo strumento di salvare l'immagine compressa in un'altra cartella.

Innanzitutto, crea una cartella in cui desideri salvare le immagini compresse. Se vuoi che vengano salvati in una cartella già esistente, non è necessario crearne una nuova. È quindi possibile utilizzare la seguente sintassi dei comandi per eseguire la compressione:

$ jpegoptim -d ./[cartella-destinazione] -p [nome_immagine].jpg

Ad esempio:

$ jpegoptim -d ./compressed -p sample.jpg

Il comando precedente comprimerà e salverà il mio file sample.jpg in una cartella già esistente denominata "compressa".

Verifica potenziale compressione

Se vuoi vedere, in anticipo, quanto un'immagine è in grado di essere compressa, puoi simulare la compressione dell'immagine tramite Jpegoptim. Il seguente comando in realtà non comprimerà l'immagine, ti dirà solo di quanto sarà compressa l'immagine se mai proverai a comprimerla con Jpegoptim.

L'esempio seguente spiegherà ulteriormente il processo:

Ho un'immagine jpg chiamata sample.jpg. Stamperò prima le sue dimensioni tramite il comando du come segue:

$ du sample.jpg

Quindi, userò il flag -n con il comando jpegoptim per conoscere la sua potenziale compressione.

$ jpegoptim -n sample.jpg

Quando ho ricontrollato le sue dimensioni dopo aver usato il comando jpegoptim come sopra, non ho visto alcun cambiamento nelle sue dimensioni. Ciò garantisce che il comando jpeg con il flag -n visualizzi solo la futura percentuale e dimensione di compressione senza comprimere effettivamente l'immagine.

Comprime le immagini "con" una perdita di qualità

A volte vogliamo comprimere le nostre immagini sapendo che il processo non sarà senza perdite. La cosa buona è che con Jpegoptim puoi specificare quanta perdita di qualità stai bene. Ci sono due modi per comprimere le tue immagini in modo "perfetto";

1. Utilizzo del flag -m per specificare il fattore/percentuale di qualità: Imposta il fattore massimo di qualità dell'immagine (disabilita la modalità di ottimizzazione senza perdita di dati, che è abilitata per impostazione predefinita). Questa opzione ridurrà la qualità dei file di origine che sono stati salvati utilizzando un'impostazione di qualità superiore. Mentre i file che hanno già un'impostazione di qualità inferiore verranno compressi utilizzando il metodo di ottimizzazione senza perdita di dati.

Ecco come specificare la percentuale di compressione:

$ jpegoptim -m[percentage_in_numbers] image.jpg

Questa era la mia immagine originale:

Ed ecco come appare con un fattore di qualità del 10 percento:

2. Utilizzando l'opzione –size per specificare la dimensione dell'immagine compressa: Prova a ottimizzare il file a una determinata dimensione (disabilita la modalità di ottimizzazione senza perdita di dati). La dimensione di destinazione è specificata in kilobyte (1 – n)

o come percentuale (1% – 99%) della dimensione del file originale.

Ecco come puoi specificare la dimensione in kbs per l'immagine risultante:

$ jpegoptim --size=[size-in-kb] image_name.jpg

Ottimizzazione in batch dei file immagine

Esistono diversi modi in cui puoi utilizzare Jpegoptim per comprimere più file contemporaneamente.

Il primo è specificare tutti i file che vuoi comprimere in un unico comando jpegoptim come segue:

$ jpegoptim file1.jpeg file2.jpg file3.jpg

Il comando sovrascriverà tutti i file specificati e con quelli appena compressi.

Il secondo metodo è dire a Jpegoptim di comprimere tutti i file di un certo tipo, ad esempio jpg, che risiedono tutti nella stessa cartella:

$ jpegoptim *.jpg

Per vedere come funziona questo comando, ho elencato tutti i file nella mia cartella Immagini con il flag -l. Questo comando stamperebbe la dimensione totale di tutte le immagini che risiedono nella cartella corrente:

$ ls -l

Quindi ho usato lo stesso comando ls -l per vedere quanta differenza ha apportato il comando Jpegoptim alla dimensione totale di tutti i file. Puoi vedere la notevole differenza di byte totali nel seguente output:

Questi erano solo due file; puoi risparmiare molto spazio in questo modo. La bellezza dell'intero processo è che non stai compromettendo la qualità delle tue preziose immagini. Ovviamente puoi fare lo stesso con altri formati di file supportati da Jpegoptim.

La terza e molto utile opzione è che puoi persino utilizzare uno script di shell per automatizzare la compressione di tutti i file di un singolo tipo che si trovano nella directory corrente. Ecco come farlo:

Script Bash per comprimere tutti i file jpg nella directory corrente

Questa sezione spiegherà come scrivere uno script di shell che comprimerà tutti i jpg che si trovano nella directory corrente in una cartella denominata "compresso". Lo script non creerà la cartella; salverà semplicemente l'output in una cartella già creata con questo nome.

Per prima cosa, spostati nella cartella Documenti dove creeremo lo script:

$ cd Documents

Nota:puoi salvare lo script dove vuoi. È consigliabile creare tutti gli script nella stessa cartella in modo da non perdere traccia di dove li hai salvati. Personalmente preferisco salvare tutti i miei script nella cartella Documenti.

Crea lo script

Apri un nuovo file di script in uno dei tuoi editor di testo preferiti. Useremo l'editor nano per aprire un file di script vuoto con il nome di compressAll.sh

$ nano compressAll.sh

In quel file vuoto, aggiungi il seguente script.

#!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Suggerimento: Invece di digitare l'intero script nel tuo file bash, puoi copiarlo da qui e incollarlo nel Terminale usando Ctrl+Maiusc+V o usando l'opzione Incolla dal menu di scelta rapida.

Ecco come sarebbe il tuo file:

Ora esci dal file tramite la scorciatoia Ctrl+X. Ti verrà quindi chiesto di salvare il file su "Salva buffer modificato?" richiesta. Digita Y e poi premi Invio; il tuo file di script è ora salvato nella cartella corrente.

Per rendere questo file eseguibile dall'utente corrente, esegui il seguente comando nel tuo Terminale:

$ chmod +x compressAll.sh

Per eseguire lo script, cambia la directory corrente in quella di cui vuoi comprimere i jpg (nel mio caso la directory Immagini). Assicurati che la directory contenga una cartella denominata "compressa". Se non è presente, creane uno prima di eseguire lo script.

Esegui lo script

Infine, esegui lo script come segue:

$ /home/[username]/Documents/compressAll.sh

Questo comando eseguirà lo script bash dalla cartella in cui lo hai creato. Questo è il motivo per cui hai dovuto specificare l'intero percorso di quel file .sh.

Vedrai che tutti i file compressi verranno scritti nella cartella "compressa". Puoi verificarlo tramite il seguente comando:

$ ls compressed

Tutto riguardava l'ottimizzazione dell'immagine tramite l'utilità Jpegoptim. Per ulteriori dettagli puoi vedere la manpage tramite il seguente comando:

$ man jpegoptim

Ora condividere le tue immagini su Internet e caricarle su una posizione con limitazioni di larghezza di banda e spazio di archiviazione non dovrebbe essere un problema


Ubuntu
  1. Ubuntu Xenial Xerus 16.04 Download di immagini ISO Linux con zsync

  2. Installa Ubuntu 20.04 su Raspberry Pi

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

  4. Suggerimento rapido:converti le immagini dalla riga di comando con ImageMagick

  5. Come condividere le immagini Docker con altri

Come convertire PNG, JPEG in WebP in Ubuntu? (Anche WebP in PNG e JPEG)

Come eseguire il flashing/masterizzare un'immagine del sistema operativo con Etcher su Ubuntu

Ottimizzazione/compressione dell'immagine senza perdita di dati con Trimage su Ubuntu

Ridimensiona le immagini con il clic destro su Ubuntu e altre distribuzioni Linux [Suggerimento rapido]

Comando di ottimizzazione dell'immagine JPEG di Linux

Miglioramento automatico dell'immagine per Ubuntu