Réduire la taille des images numériques JPG et PNG
Publié le 07 décembre 2008 - Photographie
Dernière mise à jour le 30 août 2011
- Article
- |
- Commentaires (0)
- |
- Fichiers attachés (0)
La multiplication des appareils numériques a décuplé le partage de photos sur internet, qu'il s'agisse de transferts par mails, messageries instantanées ou encore par le dépôt sur un site de partage comme Flickr, Picasaweb ou encore FaceBook. Mais ces transferts d'images peuvent ce révéler pénibles en raison du poids de plus en plus important des fichiers.
Directement lié à la qualité du capteur de l'appareil photo, la course aux mega-pixels dans ce secteur a poussé le poids des fichiers à suivre le mouvement, moins sensiblement certes, mais suffisamment pour devenir source de lenteur. Voyons un peu comment réduire le poids des deux principaux types de fichiers utilisés pour le partage d'image, les JPEG et les PNG.

La taille et le poids d'un fichier image
Il est important de distinguer le poids de l'image, exprimé en octets, et sa taille, exprimé en pixels.
Ces deux valeurs sont assez intimement liées, puisque d'une façon générale, réduire la taille d'une image va de pair avec une réduction de son poids. Pourtant, on peut simplement réduire le poids d'une image sans pour autant réduire en parallèle sa taille. Il s'agit alors d'optimiser la compression réalisé par le conteneur JPG ou PNG, les formats qui nous intéresses ici.
Il est également important de faire la différence entre le JPEG et le PNG.
L'algorithme de compression utilisé par JPEG provoque des pertes irrémédiables de données dans le fichiers. Cette page illustre de façon simple le comportement de l'algorithme pour réduire le poids d'une image. La contrepartie de cette dégradation est l'énorme capacité de JPEG à réduire le poids des images.
Le PNG lui ne dégrade pas le fichier, c'est un format sans pertes, ce qui offre des possibilités de retouches plus importantes que sur un fichier très compressé par JPEG (on reste toutefois bien loin du format RAW), mais bien sur, en comparaison à des fichiers de ce type, les PNG seront toujours plus gros.
Réduire les fichiers .PNG
L'outil optipng permet de recompresser de façon optimale les fichiers PNG. Pour une explication claire mais en anglais de la méthode employée, c'est par ici.
Pour l'installer : "sudo apt-get install optipng" ou 
Son utilisation, en ligne de commande ou via Nautilus (après la création dans celui-ci d'une nouvelle action, voir ici pour un fichier schéma prêt à l'emploi), est enfantine, est le résultat remarquable.
Voyons un petit exemple:
$ ll
-rw-r--r-- 1 mpatout mpatout 1607566 2008-12-07 02:56 Capture.png
$ optipng -o7 Capture.png
OptiPNG 0.6: Advanced PNG optimizer.
Copyright (C) 2001-2008 Cosmin Truta.
** Processing: Capture.png
1680x1050 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 1605116 bytes
Input file size = 1607566 bytes
Trying...
zc = 9 zm = 9 zs = 0 f = 0 IDAT size = 1375203
...
zc = 9 zm = 9 zs = 0 f = 5 IDAT size = 1350013
...
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 1349691
Selecting parameters:
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 1349691
Output IDAT size = 1349691 bytes (255425 bytes decrease)
Output file size = 1349800 bytes (257766 bytes = 16.01% decrease)
$ ll
-rw-r--r-- 1 mpatout mpatout 1349800 2008-12-07 03:04 Capture.png
Ci dessus, le fichier après traitement est réduit à environ 84% du poids du fichier original. C'est déjà un jolie gain, et en fonction du fichier, la gain peut être nettement plus important, puisque la moyenne généralement constaté pour les réductions par optipng sont de l'ordre de 70% du poids original.
Optipng dispose de quelques options pour influer sur la recompression du fichier, il est également possible de directement indiquer des fichiers d'autres formats (BMP, GIF, PNM et TIFF) et de réaliser une conversion vers PNG, optimisation incluse.
Cette outil est tout simplement indispensable si vous travaillez avec de nombreux fichiers PNG, puisque cette recompression s'effectue sans pertes de données !
Réduire les fichiers .JPG
Venant avec le formidable ImageMagick (le couteau suisse du traitement d'image en ligne de commande !), mogrify permet de très simplement retravailler divers paramètres d'un ou plusieurs fichiers JPEG, et entre autres la qualité, afin de réduire de façon parfois assez prodigieuse leurs poids.
Pour l'installer: "sudo apt-get install imagemagick" ou 
La qualité des fichiers JPEG à l'enregistrement peut être choisie sur une échelle de 1 à 100, 1 étant la compression la plus destructrice. Le choix de la qualité d'enregistrement d'un JPG est bien sur possible avec pratiquement tout les programmes capables de travailler ce format. L'avantage de mogrify étant de pouvoir facilement traiter de nombreux fichiers par une simple ligne de commande.
Il faut savoir qu'a partir d'un fichier issu d'un appareil photo (qui a déjà subi un choix de qualité JPEG, appliqué par l'appareil photo lui même), une valeur d'environ 30 pour la qualité permet dans la majorité des cas de réduire sensiblement le poids du fichier, tout en ne provoquant pas de pertes nettement visibles à l'œil nu sur un écran. Bien sur, il n'est plus question d'aller faire des retouches lourdes sur un fichier autant compressé, mais dans le cadre du partage d'image sur internet, c'est un véritable luxe de pouvoir à ce point gagner en espace.
Voyez par vous mêmes:
$ ll
-rwxr-xr-x 1 mpatout mpatout 1944851 2006-02-07 21:58 StQuay-Souslaneige01.jpg
-rwxr-xr-x 1 mpatout mpatout 2219558 2006-02-07 21:58 StQuay-Souslaneige02.jpg
-rwxr-xr-x 1 mpatout mpatout 1975874 2006-02-07 21:58 StQuay-Souslaneige03.jpg
$ mogrify -quality 35 *.jpg
$ ll
-rwxr-xr-x 1 mpatout mpatout 279514 2006-02-07 21:59 StQuay-Souslaneige01.jpg
-rwxr-xr-x 1 mpatout mpatout 308575 2006-02-07 21:59 StQuay-Souslaneige02.jpg
-rwxr-xr-x 1 mpatout mpatout 268357 2006-02-07 21:59 StQuay-Souslaneige03.jpg
Nous réduisons le poids des fichiers à moins de 15% de l'original !
Tout en gardant une qualité à l'oeil quasi-identique.

Néanmoins, il est très fortement déconseiller de passer toutes votre collection d'images JPEG à la moulinette de mogrify. Les pertes de données lors de la compression ne sont pas récupérables. Il est donc largement recommandé de travailler sur une copie du fichier original, et de conserver celui ci intact pour l'archiver.

