Rotation de photo JPG.....sans perte ????

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Rotation de photo JPG.....sans perte ????

Message par olivier »

Je cherche une lib ou un prog pour faire tourner mes photos (90,180,270°). Mais je voudrais aucune perte. J'ai trouvé des lib qui tournait les images mais si on fait quelque rotation d'affilé la déformation est énorme.

Merci d'avance et bonne prog :scatter:
Vive le temps libre !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Rotation sans perte, pour une rotation de 90, 180, ou 270, l'image n'est pas dégradé, je ne comprends pas :roll:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Lorsque l'on retourne une image jpeg Point par point, il faut commencer par la décoder, et ensuite la recoder. Fait l'essais tu va voir que tres rapidement ton image est :? .
Il faut , je pense, travailler à plus bas niveau pour obtenir une rotation sans perte. Il faut travailler sur l'image codé.
Mais là cela devient chaud, c'est pour cela que je cherche une lib toute faite.
Vive le temps libre !
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

As-tu essayé celle du Soldat Inconnu ?
Ah oui ! Si j'en crois ce post http://purebasic.hmt-forum.com/viewtopi ... ary+effect

Mais sinon, si elle ne marche pas (mais je ne pense pas qu'il y est un recalcul en jpg dedans) tu n'as qu'a faire cela
Affichage de l'image en Jpg (quelle soit codée n'a aucune importance puisque si tu l'affiches, c'est que pour tes yeux l'image semble parfaite)
Examen de l'écran pixel par pixel
Et avec une bouble boucles astucieuse tu réaffiches tes points comme bon te sembles :)
Comme l'image ne se dégrade pas entre les rotations, on ne "bouge" que des pixels, je ne vois pas le problème :)
Dernière modification par Frenchy Pilou le mer. 25/mai/2005 0:08, modifié 1 fois.
Est beau ce qui plaît sans concept :)
Speedy Galerie
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

C'est pour un lecteur de photo, j'ai bien penser à enregistrer un paramêtre pour retourner les photos à chaque fois, mais c'est un peu lourd.

Non vraiment je voudrais pouvoir enregistrer réelement l'image retourner et la lib du SI ( a ce que j'avais essayer) déforme la photo.
Vive le temps libre !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Ah non, elle ne déforme rien du tout, ton image, une fois chargée, est transformée en BMP, ensuite, tu la retournes avec la lib sans aucune perte (en utilisant la fonction ad'hoc, car il y en a 2 pour la rotation)

La perte, tu l'a quand tu réenregistres ton image sous forme de fichier *.jpg

Et je ne vois pas comment faire autrement, car le jpg est un format compressé, donc impossible d'intervenir directement sur le contenu du fichier.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Et pourtant , tu prends ACdsee. Tu ouvre une image , tu la retourne, et tu la réenregistre. For i =1 to 5
Et regarde ton image elle est impecable !!!!

(Dans option tu as forcé la rotation sans perte)

Et c'est cela que j'aimerais faire..... :cry:
Vive le temps libre !
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Oui il a raison, il est possible de faire tourner une image jpg d'un pas de 90° sans perte de compression; la plupart des visionneuses (acdsee mais aussi xnview) permettent cela. Cela tient sans doute au fait que la compression jpeg fonctionne avec des carrés de 16x16 dont il doit être possible de faire une transformation.

D'après la FAQ de l'IJG
There are a few specialized operations that can be done on a JPEG file without decompressing it, and thus without incurring the generational loss that you'd normally get from loading and re-saving the image in a regular image editor. In particular it is possible to do 90-degree rotations and flips losslessly, if the image dimensions are a multiple of the file's block size (typically 16x16, 16x8, or 8x8 pixels for color JPEGs). This fact used to be just an academic curiosity, but it has assumed practical importance recently because many users of digital cameras would like to be able to rotate their images from landscape to portrait format without incurring loss --- and practically all digicams that produce JPEG files produce images of the right dimensions for these operations to work. So software that can do lossless JPEG transforms has started to pop up. But you do need special software; rotating the image in a regular image editor won't be lossless.
Un autre lien : http://sylvana.net/jpegcrop/
Quant à la recherche, tape sur Google lossless jpeg rotation
kelly
Messages : 176
Inscription : jeu. 09/sept./2004 16:15

Message par kelly »

pour ne pas avoir de perte, le mieux est de la passer en BMP, puis de la faire tourner, puis de la repasser en JPG. Mais a propos de perte, je crois que XN View sait le faire...
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

kelly a écrit :pour ne pas avoir de perte, le mieux est de la passer en BMP, puis de la faire tourner, puis de la repasser en JPG. Mais a propos de perte, je crois que XN View sait le faire...
C'est gentil de répondre, mais ce serait aussi très gentil de lire les précédents posts! :(
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Oui pas évident, cette affaire. Et j'ai pas envie de m'amuser à décrypter le format JPG pour faire une rotation, je l'ai déjà fait pour le format ICO pour ma lib IconEx et c'est long, la doc inexistante.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

la doc inexistante
http://www.jpeg.org/index.html?langsel=fr :D
Il y a sûrement dans un coin tout ce qu'il faut :roll:
Est beau ce qui plaît sans concept :)
Speedy Galerie
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Y'a de la doc, et il y a un prog open source dans les liens que j'ai donné plus haut. Sinon, le plus simple est d'utiliser le prog jpegtran (de l'Independent JPEG Group, dont j'avais aussi donné le lien).

Il se trouve là : http://sylvana.net/jpegcrop/jpegtran/

:?
Répondre