Compression d’images La manière simple de conserver une image en mémoire est de se donner la...
-
Upload
gervais-barriere -
Category
Documents
-
view
104 -
download
1
Transcript of Compression d’images La manière simple de conserver une image en mémoire est de se donner la...
![Page 1: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/1.jpg)
Compression d’images
La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel.
Cela demande une quantité de mémoire énorme!
Comment faire mieux?
![Page 2: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/2.jpg)
Supposons qu’on ait dessiné une ville:
On garde en mémoire les segments de droite, arcs de cercle, etc…, approximant notre image.
On a approximé notre image par des objets géométriques connus.
![Page 3: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/3.jpg)
Pour garder en mémoire un segment de droite il est plus économique de garder en mémoire:
• les deux extrémités du segment• un programme qui explique à
l’ordinateur comment tracer le segment.
Les objets géométriques sont notre
alphabet.
![Page 4: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/4.jpg)
Comment faire pour garder en mémoire un paysage
complexe?On utilise le même
principe mais on élargit notre alphabet:
• On approxime notre paysage par des fractals, par exemple la fougère
![Page 5: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/5.jpg)
On garde en mémoire un programme permettant de tracer la fougère. En voici un en Mathematica
m=15000L[n_]:=If[1<n<87,2,n]H[n_]:=If[86<n<94,3,L[n]]K[n_]:=If[n>93,4,H[n]]R=Table[K[Random[Integer,{1,100}]],{m}];F[1,x_,y_]:=0G[1,x_,y_]:=0.16*yF[2,x_,y_]:=x*0.85+y*0.04G[2,x_,y_]:=-x*0.04+y*0.85+1.6F[3,x_,y_]:=x*0.2-y*0.26G[3,x_,y_]:=0.23*x+0.22*y+1.6F[4,x_,y_]:=-x*0.15+y*0.28G[4,x_,y_]:=x*0.26+y*0.24+0.44x[1]:=0y[1]:=0Do[{x[n+1],y[n+1]}={F[R[[n]],x[n],y[n]],G[R[[n]],x[n],y[n]]},{n,1,m}]T=Table[{x[n],y[n]},{n,m}];ListPlot[T, AspectRatio->1, Axes-> False]
![Page 6: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/6.jpg)
Principe du traçage de la fougère
La fougère est la réunion:
• d’une queue • de 3 copies
d’elle-même
![Page 7: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/7.jpg)
Pourquoi cela fonctionne-t-il?
Regardons le triangle de Sierpinski:
Il est la réunion de 3 triangles de Sierpinski.
Partons d’un carré et itérons un processus de construction
![Page 8: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/8.jpg)
![Page 9: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/9.jpg)
Cela fonctionne avec n’importe quel ensemble de départ! Essayons-on en un autre:
![Page 10: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/10.jpg)
Exemple
Première iterée Sixième itérée
![Page 11: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/11.jpg)
On peut reconstruire la fougère à partir de 4 transformations affines:
• la transformation T1 qui envoie la grosse fougère sur la fougère moins 2 branches
• la transformation T2 qui envoie la grosse fougère sur la branche de gauche
• la transformation T3 qui envoie la grosse fougère sur la branche de droite
• la transformation T4 qui envoie la grosse fougère sur la queue
![Page 12: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/12.jpg)
Il suffit de garder en mémoire cette information pour reconstruire la fougère!
Algorithme de construction:• On prend un point P sur la fougère. • On choisit au hasard i dans {1,2,3,4} et on trace P1 =
Ti(P).• On choisit au hasard i dans {1,2,3,4} et on trace P2 =
Ti(P). • Etc...
La méthode s’appelle « Système de fonctions itérées » Elle fonctionne parce que la fougère est auto-similaire.
![Page 13: Compression d’images La manière simple de conserver une image en mémoire est de se donner la couleur de chaque pixel. Cela demande une quantité de mémoire.](https://reader036.fdocument.pub/reader036/viewer/2022062622/551d9dc3497959293b8e192c/html5/thumbnails/13.jpg)
En pratique
• Codage: On remplace chaque petit carré par l’image d’un grand carré sous une homothétie de rapport ½ composée avec une des 8 transformations:
• Identité plus 3 rotations• 4 symétries
On ajuste le contraste.
On fait une translation du niveau de gris.