Maksutavat Abuse

Kuvien optimointi Linuxissa

16.06.2021, 19:33

Jos tietokoneellasi on tarpeeksi kuvia ja ne vievät liikaa tilaa, niiden kokoa on varmasti mahdollista pienentää jopa ilman laadun heikkenemistä. Tästä voi olla paljon hyötyä myös silloin, kun lataat kuvia pilvitallennustilaan.

Tässä artikkelissa katsotaan, miten Linux-kuvien optimointi tehdään. On olemassa erilaisia grafiikkatyökaluja tämän tehtävän ratkaisemiseksi, mutta todellisuudessa kaikki on yksinkertaisempaa. Seuraavaksi tarkastelemme, miten kuvia voidaan pakata kahdella yksinkertaisella mutta erittäin tehokkaalla konsolin komentorivin apuohjelmalla: jpegoptim on apuohjelma, jolla voidaan optimoida ja pakata JPEG-kuvia laadun kärsimättä; optipng on pieni ohjelma, jonka avulla voit pienentää PNG-kuvien kokoa laadun kärsimättä.

JPEG ja PNG ovat internetin yleisimpiä kuvaformaatteja, joten voit optimoida lähes kaikki kuvat.

JPEG-kuvien optimointi

On olemassa apuohjelma nimeltä jpegoptim, joka on komentorivityökalu, jota voidaan käyttää JPEG-, JPG- ja JFIF-kuvien pakkaamiseen ilman laadun heikkenemistä. Apuohjelma optimoi kuvat Huffman-taulukoiden perusteella. JPEG-algoritmi käyttää pakkausta sellaisenaan, mutta tämä pakkaus saavutetaan laadun heikkenemisen avulla, ja tässä voidaan optimoida kokoa muuttamatta kuvaa.

JPEGOPTIMIN ASENTAMINEN

Asenna apuohjelma Ubuntuun, Debianiin ja siihen perustuviin jakeluihin suorittamalla:

$ sudo apt install jpegoptim

Fedorassa, Red Hatissa, CentOS:ssa ja muissa niihin perustuvissa jakeluissa asiat ovat hieman monimutkaisempia, sinun on ensin lisättävä epel-release-repository. Voit tehdä tämän seuraavanlaisella komennolla:

$ sudo yum install epel-release

Tai:

$ sudo dnf install epel-release

Sitten voit asentaa jpegoptim juuri lisäämästäsi arkistosta:

$ sudo yum install jpegoptim

Tai:

$ sudo dnf install jpegoptim

JPEGOPTIM-OHJELMAN KÄYTTÄMINEN

Katsotaanpa, miten jpegoptimia käytetään. Linuxin kuvapakkausapuohjelman käyttäminen on hyvin helppoa. Sinun tarvitsee vain suorittaa ohjelma ja antaa sille tiedostonimi. Tämä on syntaksi:

$ jpegoptim optiona file_name.jpeg

Katsotaanpa apuohjelman vaihtoehtoja:

  • -d - määritä kansio, johon valmiit kuvat tallennetaan;
  • -f - pakotettu optimointi;
  • -m - laatuindikaattori, peruuttaa häviöttömän pakkauksen ja asettaa laatutason 0-100, mitä enemmän sitä parempi;
  • -n - ei suorita varsinaista optimointia, näyttää vain tuloksen;
  • -S - asettaa valmiin kuvan koon, voidaan määrittää prosentteina tai kilotavuina;
  • -o - korvaa lähdetiedoston;
  • -p - tallentaa aikaleimat;
  • -P - tallentaa tiedoston oikeudet.

Katsotaanpa, miten kuvia voidaan optimoida linuxissa jpegoptimilla. Tarkastellaan ensin alkuperäistä kokoa:

$ du image.jpg

Kuvien optimointi Linuxissa

Seuraavaksi tehdään yksinkertaisin optimointi:

$ jpegoptim image.jpg

Kuvien optimointi Linuxissa

Sitten tarkastelemme kokoa uudelleen:

$ du image.jpg

Kuvien optimointi Linuxissa

Kuten näet, jpg-pakkaus toimi, ja avaamalla kuva missä tahansa grafiikkaohjelmassa ei ole eroa tai laadun heikkenemistä, alkuperäinen ja valmis kuva ovat identtiset. Vasemmalla on optimoitu kuva, oikealla alkuperäinen:

Kuvien optimointi Linuxissa

Jos haluat, voit pakata kuvan tiettyyn kokoon, mutta silloin se ei ole häviötön:

$ jpegoptim --size=250k image.jpeg

Kuva pakataan, mutta laatu heikkenee huomattavasti. Jos kuvia on paljon, voit hyvin helposti käyttää eräpakkausta: siirry vain kansioon, jossa kuvat ovat, ja suorita pakkauskomento antamalla esimerkiksi maskin tiedoston sijasta:

$ cd images/

jpegoptim *.jpg

Kuvien optimointi Linuxissa

Voit myös listata useamman kuin yhden kuvan kerrallaan:

$ jpegoptim image1.jpg image2.jpg

Jos haluat optimoida kaikki tietyn kansion kuvat, voit käyttää xargs-komentoa yhdessä find-komennon kanssa. Pakkaa esimerkiksi kaikki nykyisen kansion kuvat siirtämällä ne kansioon ~/compressed:

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

Se siitä, nyt tiedät, miten jpg-kuvia pakataan Linuxissa. Seuraavaksi puhumme siitä, miten png-kuvia pakataan. Tämäkin on hyvin yksinkertaista.

PNG-KUVIEN OPTIMOINTI LINUXISSA

PNG eli Portable Network Graphics on bittikarttakuvaformaatti, joka on suunniteltu korvaamaan puutteellinen GIF-formaatti pakkauksen ja värintoiston osalta. PNG-kuvien koko voi vaihdella suuresti riippuen useista tekijöistä, kuten värisyvyydestä, lomituksesta, ennen pakkaussuodatinta, käytetystä pakkausalgoritmista jne.

OptiPNG on konsoli-apuohjelma, jonka avulla voit optimoida PNG-kuvia. Nimittäin pakata koko, palauttaa metatiedot, tarkistaa eheyden jne. OptiPNG:n avulla voit pakata tiedostoja laadun kärsimättä, aivan kuten teimme Jpeg-formaatin kanssa.

ASENNA OPTIPNG

Jos käytät Ubuntua, ohjelma on virallisissa arkistoissa ja voit asentaa sen hyvin helposti. Asenna optipng Debianiin, Ubuntuun ja johdannaisiin kirjoittamalla:

$ sudo apt install optipng

Red Hatissa, CentOS:ssa tai Fedorassa se tehdään täsmälleen samalla tavalla, vain eri paketinhallinta:

$ sudo yum install optipng

Tai:

$ sudo dnf install optipng

KUVIEN PAKKAAMINEN OPTIPNG:LLÄ

Apuohjelman syntaksi on hyvin yksinkertainen. Voit käyttää sitä täsmälleen samalla tavalla kuin jpegoptimia:

$ optipng ioptions file_name.png

Katsotaanpa apuohjelman asetuksia:

  • -backup - tallentaa kopiot muutetuista tiedostoista;
  • -dir - kansio, johon tiedostot kirjoitetaan;
  • -force - pakottaa kirjoittamaan lähtevän tiedoston;
  • -out - kirjoittaa lähtevän tiedoston määritettyyn tiedostoon;
  • -simulate - ei suorita mitään toimenpiteitä, vaan näyttää vain tuloksen;
  • -o - asettaa pakkaustason välillä 0-7.

Yritetään nyt optimoida png:tä linuxissa. Katsotaan ensin tiedoston kokoa:

$ df -h image.png

Kuvien optimointi Linuxissa

Voit suorittaa kuvan pakkauksen seuraavalla komennolla:

$ optipng image.png

Katso sitten taas kokoa, tässä esimerkissä erot eivät näy, koska kuva on hyvin pieni, mutta suuremmassa koossa ne ovat merkittäviä:

Tässäkin pakkaaminen png linux häviöttömiä kuvia, mikä tarkoittaa, että saat täsmälleen saman kuvan vain pienempänä. Voit myös määrittää pakkaustason, se ei vaikuta kuvan laatuun, mutta vaikuttaa suoraan ohjelman suoritusaikaan. Arvo voi olla 0-7 ja mitä enemmän, sitä voimakkaampi pakkaus ja sitä pidempi käsittely kestää:

$ optipng -o 7 impge.png

Kuvien eräkäsittelyssä voit käyttää samaa periaatetta kuin jpeg:n käsittelyssä:

$ cd images/

$ optipng *.png

Nyt tiedät, miten linux-kuvien optimointi tehdään.