Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JPG modifié puis sauvegardé sans perte !

221 réponses
Avatar
Alf92
Saviez vous qu'il est possible de modifier un fichier JPG,
et de le sauvegarder en conservant sa qualité ?
--
Cordialement,
Alf92

10 réponses

Avatar
Le Chevalier Noir
Merci BEAUCOUP pour cette explication super claire.

Pour ma culture, le connaissait le codage de Huffman (j'en ai même codé!),
mais qu'est ce que la compression de type RLC?

Là aussi où je ne trouve pas clairement la réponse dans ton mail, c'est : si
on fait une rotation à 90 degres d'une image jpg et que l'on sauve a
nouveau, perd t on des informations? Je suis convaincu que non, mais bon.

Le Chevalier Noir

"Jean-Claude Ghislain" wrote in message
news:c68baa$f8$

Suppose que tu ne modifies qu'une portion de l'image. Il est
peut-etre (je dis bien peut-etre et j'ai du mal a y croire tant que
je ne l'aurais pas vu de mes propres yeux,


Allez bon, c'est reparti pour un tour... Et merci à Gerard Guenin dont
je me suis inspiré pour la première partie de ce post.

- La compression JPEG travaille sur des blocs de 8 x 8 pixels en Y,Cb,Cr
(Par rapport au RVB cela permet déjà une diminution des infos de couleur
pratiquement invisible)

Phase 1:
- Les 3 x 64 éléments subissent une transformation mathématique (cosinus
discret) qui produit 3 x 64 coefficients.

Phase 2:
- Les 3 x 64 coefficients subissent alors une opération de seuillage +
quantification. C'est à ce stade que s'effectue l'éventuelle dégradation
de l'image. Le but de l'opération est d'obtenir un maximum de
coefficients égaux à 0. L'image est donc transformée (et éventuellement
dégradée) mais occupe encore LA MÊME place que les blocs RVB d'origine !
Si, à partir de ces 3*64 coefficients ont applique la transformation
inverse, on retrouve les 64 pixels, mais transformé. Les phases de
seuillage et quantification n'ont pas pour but de compresser quoi que ce
soit, mais de préparer la futur compression en faisant apparaître un
maximum de coefficients nuls. Lorsqu'on choisit un taux de compression
dans son logiciel de retouche, ce sont en fait la valeur du seuil et la
précision de la quantification que l'on choisit.

Phase 3:
- Suit alors une COMPRESSION de type RLC et un codage de Huffman. Ces
deux dernières opérations sont COMPLÈTEMENT réversibles donc NON
destructrices. Le codage de huffman sert à améliorer la compression.
C'est un codage probabiliste à longueur variable. En gros on code sur un
petit nombre de bits les valeurs dont la probabilité d'apparition est
importante et sur un grand nombre de bits celles dont la probabilité
d'apparition est la plus faible. (un peu comme le morse qui code le E
avec un seul point et le Q avec une suite trait, trait, point, trait)

Le paradoxe de tout ça est que l'algorithme de compression utilisée dans
le JPEG est non destructeur, alors que l'ensemble du processus l'est (ou
peut l'être).

Aspect Pratique :

Si l'on regarde le fonctionnement de l'algo JPEG, on se rend compte que
pour une image donnée et un taux de compression donné, on peut
sauvegarder en .jpg une fois, dix fois, cent fois, mille fois, l'image
finale est toujours strictement identique à celle de départ. Les carrés
de 8x8 sur lesquels l'algo travaille auront le même contenu de départ,
et le résultat en sortie sera parfaitement identique. J'invite les
septiques a réaliser, comme moi, un petit script qui chargera et sauvera
la même image quelques centaines de fois et de comparer avec
l'originale. [ Pour les méticuleux, il y a une légère différence entre
la génération 1 et la 2 puis après... ]

Maintenant, si l'on touche à l'un des facteurs, soit l'image, soit la
compression, il y aura un "recalcul" et, éventuellement, une nouvelle
dégradation. Voici trois cas de figure représentatifs :

1 - Changement du taux de compression.
a. On compresse plus fort. Chacun sera d'accord, il va falloir éliminer
d'autres détails et perdre encore un peu de qualité.
b. On compresse moins fort. Super, mais on ne retrouvera jamais ce qui
avait déjà été supprimé.

2 - On ouvre l'image, on retouche une vilaine poussière et on resauve
avec le même soft et le même taux de compression. L'image est identique
à l'exception de quelques pixels (la poussière). Cette image resauvée
10, 100, 1000 fois sera identique à celle de départ sauf pour la zone de
la poussière.

3 - On ouvre l'image et on applique un filtre plus net ou on touche au
contraste ou au gamma ou à la colorimétrie, ici l'entièreté de l'image a
changé, si on la resauve en JPEG, l'entièreté de l'image sera recalculé
en fonction de ses nouvelles caractéristiques et induira, c'est
probable, une perte supplémentaire par rapport à l'originale. Une image
que l'on est en train de retoucher, ne doit pas être sauvée en .jpg
pendant les phases intermédiaires.

Un recadrage s'apparente au point 3 et équivaut à une nouvelle image
avec une nouvelle interprétation de l'algorithme JPEG, sauf (cas
hautement improbable) si le recadrage est pile poil un multiple de la
matrice JPEG. Autant ne pas spéculer sur cette hypothétique possibilité.
[ Sauf avec un soft prévu pour, comme "JPEGCrop"]

Pas mal d'infos intéressantes à cette adresse :
http://iphilgood.chez.tiscali.fr/Codage/Compressionjpeg.htm
Ou encore :
http://www.faqs.org/faqs/jpeg-faq/

Toutes ces considérations sont valables pour le JPEG traditionnel mais
pas pour le JPEG 2000 qui utilise une toute autre technologie.

--
Jean-Claude Ghislain
http://www.grimart.com








Avatar
FiLH
Philippe LAGARDE writes:


Maurice répond à Sieur Alf92 :
Saviez vous qu'il est possible de modifier un fichier JPG,
et de le sauvegarder en conservant sa qualité ?


Bonjour
Oui, tout à fait
Vous ouvrez votre photo xxx*jpg vous retouchez, vous fermez, le
panneau s'affiche "voulez vous enrégistrer les modification" OK et
c'est fait !


AImable, ne le prenez pas mal; mais qu'est-ce ce qui vous permet de dire
que la qualité est conservée? (Je ne parle pas du taux de compression, mais
de la qualité)


Ah ben y en a enfin un qui pose une question intéressante.

FiLH

--

FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/



Avatar
graphistecomBOUCHONfr
Mitucci wrote:

Et tu te permet de prendre ceux qui en savent 100 fois plus que toi
pour des cons. C'est hallucinant. Je te range dans la catégorie des
gens que l'on qualifie pudiquement de "différent" juste histoire de ne
pas mettre en doute ta bonne foi...


Sur usenet ces personnes portent un nom.

--
Graphistecom
<www.olympuse10.homeip.net>

Avatar
Philippe LAGARDE

Là aussi où je ne trouve pas clairement la réponse dans ton mail, c'est : si
on fait une rotation à 90 degres d'une image jpg et que l'on sauve a
nouveau, perd t on des informations? Je suis convaincu que non, mais bon.


Si elle ait une taille multiple de 8 des deux côtés, à priori, non. Sinon,
des logiciels fonc ça. (ACDSee par exemple)

--
Philippe LAGARDE
www.mise-en-lumiere.org

Avatar
Fred
Jacques VALLOIS wrote:

Il me semble que pour le moment la meilleure réponse soit celle de
Philippe LAGARDE.


Sauf qu'Aimable sauvegarde son fichier sans compression alors son delire
de persecution est un peu mal place...

--

Frédéric

Avatar
Philippe LAGARDE

Il me semble que pour le moment la meilleure réponse soit celle
de Philippe LAGARDE.


Perdu :) voir plus haut dans le fil.

--
Philippe LAGARDE
www.mise-en-lumiere.org

Avatar
Mitucci
Jacques VALLOIS a exposé le 22/04/2004 :

Si je peux me permettre, ou j'ai raté un épisode, ou personne n'a pris la
peine d'expliquer à Aimable en quoi il se trompait !


Google est ton ami, tu comprendra en lisant les centaines de posts
d'aimable que certaines explications seraient à fonds perdus. C'est pas
de la mauvaise volonté.

--
La Ligne par l'image
http://www.laligne.org

Avatar
FiLH
(Graphistecom) writes:

Mitucci wrote:

Et tu te permet de prendre ceux qui en savent 100 fois plus que toi
pour des cons. C'est hallucinant. Je te range dans la catégorie des
gens que l'on qualifie pudiquement de "différent" juste histoire de ne
pas mettre en doute ta bonne foi...


Sur usenet ces personnes portent un nom.


De même que ceux qui étant par trop médiocre dans la vraie vie
trouvent une tête de turc sur usenet et passent leut temps à chier
dessus.

N'est-ce pas Graphiste ?

FiLH



--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/


Avatar
Fred
Le Chevalier Noir wrote:


Là aussi où je ne trouve pas clairement la réponse dans ton mail, c'est : si
on fait une rotation à 90 degres d'une image jpg et que l'on sauve a
nouveau, perd t on des informations? Je suis convaincu que non, mais bon.


Si, en general sauf si l'image est un multiple du bloc de base JPEG (ou
que l'on diminue la taille de celle ci pour y arriver).
Une autre possibilite est qu'il est possible d'/afficher/ dans le bon
sens une image JPEG en utilisant les informations EXIF qui indiquent
l'orientation de l'image.
--

Frédéric

Avatar
Mitucci
Le 22/04/2004, Philippe LAGARDE a supposé :

Le JPEG travaille sur des matrices 8x8. Donc si tu changes un pixel, une
seule matrice sera recalculée, et le reste ne sera pas changé (si tu restes
à la même compression bien évidemment).
Sur l'image globale : pour de la luminosité, ça pourrait peut-être marcher,
je demande à voir. Pour du contratse, c'est sur que non.


Ok merci.

--
La Ligne par l'image
http://www.laligne.org