GNU/Linux >> Tutoriels Linux >  >> Linux

Comment optimiser et compresser des images JPEG ou PNG dans la ligne de commande Linux

Vous avez beaucoup d'images et souhaitez optimiser et compresser les images sans perdre leur qualité d'origine avant de les télécharger sur un cloud ou des stockages locaux ? Il existe de nombreuses applications graphiques disponibles qui vous aideront à optimiser les images. Cependant, voici deux utilitaires simples en ligne de commande pour optimiser les images et ils sont :

  1. jpegoptim – est un utilitaire pour optimiser/compresser les fichiers JPEG sans perte de qualité.
  2. OptiPNG – est un petit programme qui optimise les images PNG à une taille plus petite sans perdre aucune information.

À l'aide de ces deux outils, vous pouvez optimiser une ou plusieurs images à la fois.

Compresser ou optimiser les images JPEG à partir de la ligne de commande

jpegoptim est un outil en ligne de commande qui peut être utilisé pour optimiser et compresser les fichiers JPEG, JPG et JFIF sans perdre leur qualité réelle. Cet outil prend en charge l'optimisation sans perte, basée sur l'optimisation des tables de Huffman.

Installer jpegoptim sous Linux

Pour installer jpegoptim sur vos systèmes Linux, exécutez la commande suivante depuis votre terminal.

Sur Debian et ses dérivés
# apt-get install jpegoptim
or
$ sudo apt-get install jpegoptim
Sur les systèmes basés sur RedHat

Sur les systèmes basés sur RPM comme RHEL , CentOS , Fédora etc., vous devez installer et activer le référentiel EPEL ou bien, vous pouvez installer le référentiel epel directement à partir de la ligne de commande comme indiqué :

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

Installez ensuite le programme jpegoptim à partir du référentiel comme indiqué :

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

Comment utiliser l'optimiseur d'image Jpegoptim

La syntaxe de jpegoptm est :

$ jpegoptim filename.jpeg
$ jpegoptim [options] filename.jpeg

Compressons maintenant le tecmint.jpeg suivant image, mais avant d'optimiser l'image, découvrez d'abord la taille réelle de l'image à l'aide de la commande du comme indiqué.

$ du -sh tecmint.jpeg 

6.2M	tecmint.jpeg

Ici, la taille réelle du fichier est de 6,2 Mo , compressez maintenant ce fichier en exécutant :

$ jpegoptim tecmint.jpeg 

Ouvrez l'image compressée dans n'importe quelle application de visualisation d'images, vous ne trouverez aucune différence majeure. Les images source et compressées auront la même qualité.

La commande ci-dessus optimise les images à la taille maximale possible. Cependant, vous pouvez compresser l'image donnée à une taille spécifique, mais cela désactive l'optimisation sans perte.

Par exemple, comprimons l'image ci-dessus à partir de 5,6 Mo à environ 250 000 .

$ jpegoptim --size=250k tecmint.jpeg

Compression et optimisation d'images JPEG par lots

Vous pourriez demander comment compresser les images dans tout le répertoire, ce n'est pas difficile non plus. Allez dans le répertoire où vous avez les images.

[email protected] ~ $ cd img/
[email protected] ~/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

Et puis exécutez la commande suivante pour compresser toutes les images à la fois.

[email protected] ~/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.

Vous pouvez également compresser plusieurs images sélectionnées à la fois :

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

Pour plus de détails sur jpegoptim outil, consultez les pages de manuel.

$ man jpegoptim 

Compresser ou optimiser les images PNG à partir de la ligne de commande

OptiPNG est un outil en ligne de commande utilisé pour optimiser et compresser les fichiers PNG (graphiques réseau portables) sans perdre leur qualité d'origine.

L'installation et l'utilisation de OptiPNG est très similaire à jpegoptim .

Installer OptiPNG sous Linux

Pour installer OptiPNG sur vos systèmes Linux, exécutez la commande suivante depuis votre terminal.

Sur Debian et ses dérivés
# apt-get install optipng
or
$ sudo apt-get install optipng
Sur les systèmes basés sur RedHat
# yum install optipng
# dnf install optipng    [On Fedora 22+ versions]

Remarque  :Vous devez disposer du dépôt epel activé sur votre RHEL/CentOS systèmes basés pour installer optipng programme.

Comment utiliser l'optimiseur d'image OptiPNG

La syntaxe générale de optipng est :

$ optipng filename.png
$ optipng [options] filename.png

Compressons le tecmint.png image, mais avant l'optimisation, vérifiez d'abord la taille réelle de l'image comme indiqué :

[email protected] ~/img $ ls -lh tecmint.png 
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png

Ici, la taille réelle du fichier de l'image ci-dessus est de 350K , compressez maintenant ce fichier en exécutant :

[email protected] ~/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)

Comme vous le voyez dans la sortie ci-dessus, la taille de tecmint.png le fichier a été réduit jusqu'à 30,39 % . Maintenant, vérifiez à nouveau la taille du fichier en utilisant :

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

Ouvrez l'image compressée dans n'importe quelle application de visualisation d'images, vous ne trouverez aucune différence majeure entre les fichiers originaux et compressés. Les images source et compressées auront la même qualité.

Compression et optimisation d'images PNG par lot

Pour compresser un lot ou plusieurs images PNG à la fois, accédez simplement au répertoire où résident toutes les images et exécutez la commande suivante pour compresser.

[email protected] ~ $ cd img/
[email protected] ~/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)
....

Pour plus de détails sur optipng consultez les pages de manuel.

$ man optipng

Conclusion

Si vous êtes un webmaster et que vous souhaitez diffuser des images optimisées sur votre site Web ou un blog, ces outils peuvent être très pratiques. Ces outils économisent non seulement de l'espace disque, mais réduisent également la bande passante lors du téléchargement des images.

Si vous connaissez une autre meilleure façon de réaliser la même chose, faites-le nous savoir via des commentaires et n'oubliez pas de partager cet article sur vos réseaux sociaux et de nous soutenir.


Linux
  1. Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux

  2. Comment optimiser et compresser des images JPEG ou PNG dans la ligne de commande Linux

  3. Comment analyser et joliment imprimer JSON avec les outils de ligne de commande Linux

  4. Comment compresser et décompresser des fichiers sous Linux

  5. Comment archiver et compresser des fichiers sous Linux

Comment convertir par lots des images PNG au format JPG sous Linux

Comment recadrer et redimensionner des images sous Linux à l'aide de Gwenview

Comment compresser un fichier image PNG sous Linux

Comment convertir un PDF en images PNG et inversement sous Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux

Comment installer et utiliser Pigz pour compresser des fichiers plus rapidement sous Linux