Mise en image des altérations du jpeg

Les formats d'images compréssées avec pertes permettent de stocker des images qui prennent beaucoup moins d'espace que leurs équivalentes sans altération.

Par contre, des informations sont perdues. Le jpeg en est le format le plus utilisé, car son rapport pertes/taille gagnée est intéressant.

Un réglage permet de choisir la qualité, qui varie de 1 à 100, et qui enflue aussi sur la taille.

J'ai mis en lumière les différences, pour mieux voir.

Version originale, théoriquement 290Kio sans compression
Original
Version JPEG qualité 100, 67.6Kio
JPEG100
DiffJPEG100
Version JPEG qualité 80, 15,9Kio
JPEG80
DiffJPEG60
Version JPEG qualité 60, 11Kio
JPEG60
DiffJPEG60
Version JPEG qualité 15, 4,3Kio
JPEG15
DiffJPEG15
Version JPEG qualité 5, 2.1Kio
JPEG5
DiffJPEG5
Version GIF pour la route, 256 couleurs, 40.0Kio
Gif
DiffGIF

Le Gif qui n'a que 256 couleurs au maximum, a un niveau de qualité pas très éloigné du jpeg en qualité 60. Mais il est près de 4 fois plus lourd. La version en jpeg qualité 5, c'est juste parce que c'est jolie.

Pour reproduire le test (c'est plus scientifique), lancez gimp, et dans un calque, mettez l'image de base, et l'image compressée. Passez le calque de l'image compréssée en mode de fusion  «Différence». Applatissez l'image, et inversez les couleurs. Réglez le niveau de l'image, en mettant toujours les mêmes valeurs (sinon, on peut pas comparer). J'ai mis 220 pour le noir, mais ça doit varier en fonction de l'image de base.

Aussi, image magick propose la commande compare pour mettre en évidence les différences entre deux images. Si l'image rendu n'était pas exploitable (pour la différence, c'est soit tout, soit rien), l'outil fourni un score. Plus le score est élevé, plus l'image se rapproche de l'original.

C'est l'occasion de faire un jolie graphique.
Graphique
En fonction du réglage de qualité, on voit progresser la qualité de l'image selon image magick, et la taille en Kibioctets.

La commande est la suivante:
for (( i= 5; i <= 100; i+=5)); do
 convert -quality $i Original.png salut$i.jpeg
 compare -metric PSNR salut$i.jpeg Original.png inu.png
done

En conclusion, le jpeg c'est bien, mais que pour le final d'une image. À force d'enregistrer et de réenregistrer, on perd trop en qualité.

Vus : 437
Publié par Yellowiscool : 33