Zoeken op website

Hoe u JPEG- of PNG-afbeeldingen kunt optimaliseren en comprimeren in Linux Commandline


U heeft veel afbeeldingen en wilt de afbeeldingen optimaliseren en comprimeren zonder de oorspronkelijke kwaliteit te verliezen voordat u ze uploadt naar een cloud of lokale opslag? Er zijn tal van GUI-applicaties beschikbaar die u zullen helpen de afbeeldingen te optimaliseren. Hier zijn echter twee eenvoudige opdrachtregelhulpprogramma's om afbeeldingen te optimaliseren:

  1. jpegoptim – is een hulpprogramma om JPEG-bestanden te optimaliseren/comprimeren zonder kwaliteitsverlies.
  2. OptiPNG – is een klein programma dat PNG-afbeeldingen optimaliseert naar een kleiner formaat zonder enige informatie te verliezen.

Met deze twee tools kunt u één of meerdere afbeeldingen tegelijk optimaliseren.

Comprimeer of optimaliseer JPEG-afbeeldingen vanaf de opdrachtregel

jpegoptim is een opdrachtregelprogramma dat kan worden gebruikt voor het optimaliseren en comprimeren van JPEG-, JPG- en JFIF-bestanden zonder de werkelijke kwaliteit te verliezen. Deze tool ondersteunt verliesloze optimalisatie, die is gebaseerd op het optimaliseren van de Huffman-tabellen.

Installeer jpegoptim onder Linux

Om jpegoptim op uw Linux-systemen te installeren, voert u de volgende opdracht uit vanaf uw terminal.

Over Debian en zijn derivaten
apt-get install jpegoptim
or
sudo apt-get install jpegoptim
Op op RedHat gebaseerde systemen

Op op RPM gebaseerde systemen zoals RHEL, CentOS, Fedora etc. moet u de EPEL-repository installeren en inschakelen, of u kunt ook de epel installeren repository rechtstreeks vanaf de opdrachtregel, zoals weergegeven:

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

Installeer vervolgens het jpegoptim-programma vanuit de repository, zoals weergegeven:

yum install jpegoptim
dnf install jpegoptim    [On Fedora 22+ versions]

Hoe Jpegoptim Image Optimizer te gebruiken

De syntaxis van jpegoptm is:

jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg

Laten we nu de volgende tecmint.jpeg afbeelding comprimeren, maar voordat u de afbeelding optimaliseert, moet u eerst de werkelijke grootte van de afbeelding achterhalen met behulp van de opdracht du, zoals weergegeven.

du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Hier is de werkelijke bestandsgrootte 6,2 MB. Comprimeer dit bestand nu door het volgende uit te voeren:

jpegoptim tecmint.jpeg 

Open de gecomprimeerde afbeelding in een willekeurige afbeeldingsviewertoepassing, u zult geen grote verschillen vinden. De bron- en gecomprimeerde afbeeldingen hebben dezelfde kwaliteit.

Het bovenstaande commando optimaliseert de afbeeldingen tot de maximaal mogelijke grootte. U kunt de gegeven afbeelding echter tot een specifieke grootte comprimeren, maar dit schakelt de verliesvrije optimalisatie uit.

Laten we bijvoorbeeld de afbeelding boven de afbeelding comprimeren van 5,6 MB naar ongeveer 250k.

jpegoptim --size=250k tecmint.jpeg

Batch JPEG-beeldcompressie en -optimalisatie

Je zou je kunnen afvragen hoe je de afbeeldingen in de hele map kunt comprimeren, dat is ook niet moeilijk. Ga naar de map waar je de afbeeldingen hebt.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/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

En voer vervolgens de volgende opdracht uit om alle afbeeldingen in één keer te comprimeren.

tecmint@tecmint ~/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.

U kunt ook meerdere geselecteerde afbeeldingen tegelijk comprimeren:

$ 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.

Voor meer details over de jpegoptim tool, bekijk de manpagina's.

man jpegoptim 

Comprimeer of optimaliseer PNG-afbeeldingen vanaf de opdrachtregel

OptiPNG is een opdrachtregelprogramma dat wordt gebruikt om PNG-bestanden (portable network graphics) te optimaliseren en te comprimeren zonder de oorspronkelijke kwaliteit te verliezen.

De installatie en het gebruik van OptiPNG lijkt sterk op jpegoptim.

Installeer OptiPNG onder Linux

Om OptiPNG op uw Linux-systemen te installeren, voert u de volgende opdracht uit vanaf uw terminal.

Over Debian en zijn derivaten
apt-get install optipng
or
sudo apt-get install optipng
Op op RedHat gebaseerde systemen
yum install optipng
dnf install optipng    [On Fedora 22+ versions]

Opmerking: u moet epel repository ingeschakeld hebben op uw op RHEL/CentOS gebaseerde systemen om optipng te kunnen installeren programma.

Hoe u OptiPNG Image Optimizer gebruikt

De algemene syntaxis van optipng is:

optipng filename.png
optipng [options] filename.png

Laten we de tecmint.png afbeelding comprimeren, maar voordat we gaan optimaliseren, controleren we eerst de werkelijke grootte van de afbeelding, zoals weergegeven:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Hier is de werkelijke bestandsgrootte van bovenstaande afbeelding 350K. Comprimeer dit bestand nu door het volgende uit te voeren:

tecmint@tecmint ~/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)

Zoals u in de bovenstaande uitvoer ziet, is de grootte van het bestand tecmint.png verkleind tot 30,39%. Controleer nu de bestandsgrootte opnieuw met behulp van:

tecmint@tecmint ~/img $ ls -lh tecmint.png 
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png

Open de gecomprimeerde afbeelding in een willekeurige afbeeldingsviewertoepassing. U zult geen grote verschillen vinden tussen de originele en gecomprimeerde bestanden. De bron- en gecomprimeerde afbeeldingen hebben dezelfde kwaliteit.

Batch PNG-beeldcompressie en -optimalisatie

Om batch- of meerdere PNG-afbeeldingen tegelijk te comprimeren, gaat u gewoon naar de map waar alle afbeeldingen zich bevinden en voert u de volgende opdracht uit om te comprimeren.

tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/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)
....

Voor meer details over optipng bekijk de manpagina's.

man optipng

Conclusie

Als u een webmaster bent en geoptimaliseerde afbeeldingen op uw website of blog wilt weergeven, kunnen deze tools erg handig zijn. Deze tools besparen niet alleen schijfruimte, maar verminderen ook de bandbreedte tijdens het uploaden van de afbeeldingen.

Als je een andere, betere manier kent om hetzelfde te bereiken, laat het ons dan weten via reacties en vergeet niet dit artikel op je sociale netwerken te delen en ons te steunen.