Puis-je faire pivoter des photos compressées avec perte que je visualise dans la visionneuse de photos Windows sans craindre de perdre encore plus d'informations grâce à la compression?
Puis-je faire pivoter des photos compressées avec perte que je visualise dans la visionneuse de photos Windows sans craindre de perdre encore plus d'informations grâce à la compression?
Réponses:
Si les dimensions de l'image sont des multiples de 8 (ou 16 si un sous-échantillonnage de la chrominance est utilisé), les rotations sont sans perte. Sinon, il n'est pas possible de faire pivoter l'image sans recalculer les blocs, c'est-à-dire recomprimer l'image, ce qui entraîne des pertes.
La raison en est que les images JPEG sont divisées en une série de blocs 8x8 ou 16x16 qui sont compressés individuellement. Les blocs incomplets ne sont autorisés que sur le bord droit et le bord inférieur. Ainsi, si votre image n’est pas un multiple exact de 8/16, elle contiendra des blocs incomplets, qui se retrouveront sur le mauvais bord après la rotation.
J'ai vérifié l'assertion ci-dessus à l'aide de la version de Windows Photo Viewer fournie avec Windows 7. J'ai utilisé deux images de bruit de couleur. Une image faisait 256x256, c'est-à-dire que les deux tailles étaient des multiples de 8. L'autre image était identique mais recadrée à 253x253, c'est-à-dire qu'aucune des deux tailles n'était un multiple de 8. Voici les images:
J'ai ensuite effectué quatre rotations dans le sens inverse des aiguilles d'une montre, fermant la visionneuse de photos après chaque rotation pour garantir que l'image était enregistrée dans son état pivoté.
Il n'est pas nécessaire d'effectuer une soustraction pour voir la différence avec l'image de 253 pixels, elle est visiblement plus sombre et plus trouble!
Un diff sur l'autre image ressemble à ceci:
c'est-à-dire que les images sont identiques, les rotations étaient sans perte.