Metode de plată Abuse

Optimizarea imaginilor în Linux

16.06.2021, 19:33

Dacă aveți suficiente imagini pe computer și acestea ocupă prea mult spațiu, este cu siguranță posibil să le reduceți dimensiunea fără a pierde din calitate. Acest lucru poate fi, de asemenea, foarte util atunci când încărcați imagini în cloud storage.

În acest articol, să vedem cum se realizează optimizarea imaginilor Linux. Există o varietate de instrumente grafice pentru a rezolva această sarcină, dar, în realitate, totul este mai simplu. În continuare, vom analiza modul de comprimare a imaginilor utilizând două utilitare simple, dar foarte eficiente, pentru linia de comandă a consolei: jpegoptim este un utilitar pentru optimizarea și comprimarea imaginilor JPEG fără pierderi de calitate; optipng este un mic program care vă permite să reduceți dimensiunea imaginilor PNG fără pierderi de calitate.

JPEG și PNG sunt cele mai comune formate de imagine de pe internet, astfel încât veți putea optimiza aproape toate imaginile

Optimizarea imaginilor JPEG

Există un utilitar numit jpegoptim, un instrument de linie de comandă care poate fi utilizat pentru a comprima imaginile JPEG, JPG și JFIF fără pierderi de calitate. Utilitarul optimizează imaginile pe baza tabelelor Huffman. Algoritmul JPEG utilizează compresia așa cum este, dar această compresie este obținută folosind pierderea calității, iar aici putem optimiza dimensiunea fără a modifica imaginea.

INSTALAREA JPEGOPTIM

Pentru a instala utilitarul în Ubuntu, Debian și distribuțiile bazate pe acestea, executați:

$ sudo apt install jpegoptim

În Fedora, Red Hat, CentOS și alte distribuții bazate pe acestea lucrurile sunt un pic mai complicate, va trebui să adăugați mai întâi depozitul epel-release. Puteți face acest lucru cu o comandă ca aceasta:

$ sudo yum install epel-release

Sau:

$ sudo dnf install epel-release

Apoi puteți instala jpegoptim din depozitul pe care tocmai l-ați adăugat:

$ sudo yum install jpegoptim

Or:

$ sudo dnf install jpegoptim

CUM SĂ UTILIZAȚI JPEGOPTIM

Să aruncăm o privire la modul de utilizare a jpegoptim. Utilizarea utilitarului linux de compresie a imaginilor este foarte ușoară. Tot ce trebuie să faceți este să executați programul și să-i treceți un nume de fișier. Aceasta este sintaxa:

$ jpegoptim optiona file_name.jpeg

Să ne uităm la opțiunile utilitarului:

  • -d - specificați folderul în care să salvați imaginile finalizate;
  • -f - optimizare forțată;
  • -m - indicator de calitate, anulează compresia fără pierderi și stabilește nivelul de calitate de la 0 la 100, cu cât mai mult cu atât mai bine;
  • -n - nu efectuează optimizarea reală, ci doar afișează rezultatul;
  • -S - stabilește dimensiunea imaginii finite, poate fi specificată în procente sau kilobyți;
  • -o - înlocuiește fișierul sursă;
  • -p - salvează timestamps;
  • -P - salvează drepturile fișierului.

Să vedem cum să optimizăm imaginile în linux cu jpegoptim. În primul rând, să ne uităm la dimensiunea originală:

$ du image.jpg

Optimizarea imaginilor în Linux

Apoi facem cea mai simplă optimizare:

$ jpegoptim image.jpg

Optimizarea imaginilor în Linux

Apoi ne uităm din nou la dimensiune:

$ du image.jpg

Optimizarea imaginilor în Linux

După cum puteți vedea, compresia jpg a funcționat, iar la deschiderea imaginii în orice program grafic nu va exista nicio diferență sau degradare a calității, imaginea originală și cea finalizată vor fi identice. În stânga este cea optimizată, în dreapta este originalul:

Optimizarea imaginilor în Linux

Dacă doriți, puteți comprima imaginea la o anumită dimensiune, dar atunci nu va fi fără pierderi:

$ jpegoptim --size=250k image.jpeg

Imaginea va fi comprimată, dar calitatea se va deteriora simțitor. Dacă există o mulțime de imagini, puteți utiliza foarte ușor compresia pe loturi, pur și simplu mergeți la folderul cu imagini și apoi rulați comanda de compresie specificând o mască în loc de un fișier, de exemplu:

$ cd images/

jpegoptim *.jpg

Optimizarea imaginilor în Linux

De asemenea, puteți lista mai multe imagini în același timp:

$ jpegoptim image1.jpg image2.jpg

Pentru a optimiza toate imaginile dintr-un anumit dosar, puteți utiliza comanda xargs împreună cu find. De exemplu, comprimați toate imaginile din folderul curent cu move to the ~/compressed folder:

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

Asta e tot, acum știți cum să comprimați imagini jpg în Linux. În continuare, vom vorbi despre cum să comprimați imaginile png. Acest lucru este, de asemenea, foarte simplu.

OPTIMIZAREA IMAGINILOR PNG ÎN LINUX

PNG sau Portable Network Graphics este un format de imagine bitmap conceput pentru a înlocui formatul imperfect GIF în ceea ce privește compresia și reproducerea culorilor. Dimensiunea imaginilor PNG poate varia foarte mult în funcție de mai mulți factori, cum ar fi adâncimea culorilor, întrepătrunderea, înainte de filtrul de compresie, algoritmul de compresie utilizat etc.

OptiPNG este un utilitar de consolă care vă permite să optimizați imaginile PNG. Și anume comprimarea dimensiunii, recuperarea metadatelor, verificarea integrității etc. Cu OptiPNG puteți comprima fișiere fără pierderi de calitate, la fel cum am făcut cu formatul Jpeg.

INSTALAȚI OPTIPNG

Dacă utilizați Ubuntu, programul se află în depozitele oficiale și îl puteți instala foarte ușor. Pentru a instala optipng în Debian, Ubuntu și derivate tastați:

$ sudo apt install optipng

În Red Hat, CentOS sau Fedora se face exact la fel, doar un alt manager de pachete:

$ sudo yum install optipng

Sau:

$ sudo dnf install optipng

COMPRIMAREA IMAGINILOR CU OPTIPNG

Sintaxa utilitarului este foarte simplă. Îl puteți utiliza exact în același mod ca jpegoptim:

$ optipng ioptions file_name.png

Să ne uităm la opțiunile utilitarului:

  • -backup - salvează copii ale fișierelor modificate;
  • -dir - folder în care să se scrie fișierele;
  • -force - forțează scrierea fișierului de ieșire;
  • -out - scrie fișierul de ieșire în fișierul specificat;
  • -simulate - nu efectuează nicio acțiune, ci doar afișează rezultatul;
  • -o - setează nivelul de compresie de la 0 la 7.

Acum să încercăm să optimizăm png în linux. Mai întâi să vedem dimensiunea fișierului:

$ df -h image.png

Optimizarea imaginilor în Linux

Pentru a efectua compresia imaginii, utilizați următoarea comandă:

$ optipng image.png

Apoi uitați-vă din nou la dimensiune, în acest exemplu diferențele nu sunt vizibile deoarece imaginea este foarte mică, dar la o dimensiune mai mare acestea vor fi semnificative:

Și aici compresia png linux imagini fără pierderi, ceea ce înseamnă că veți obține exact aceeași imagine, doar că mai mică. De asemenea, puteți specifica nivelul de compresie, acesta nu afectează calitatea imaginii, dar afectează direct timpul de execuție al programului. Valoarea poate fi de la 0 la 7 și cu cât este mai mare, cu atât compresia este mai puternică și procesarea va fi mai lungă:

$ optipng -o 7 impge.png

Pentru procesarea pe loturi a imaginilor puteți utiliza același principiu ca și în lucrul cu jpeg:

$ cd images/

$ optipng *.png

Acum știți cum se face optimizarea imaginilor în linux.