Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Copy of Compression d'image fixe

No description
by

kader Boussaha

on 19 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Copy of Compression d'image fixe

Compression d'image fixe par la méthode de JPEG
Sommaire
But générale de la compression
Définition d'une image numérique
But générale de la compression
Notion sur la compression
Chaines de codage/décodage JPEG
Principe de la compression JPEG
1/Découpage
2/ Transformée en Cosinus Discrète (DCT)
3/Quantification
4/Zig-Zag
5/ RLE
6/Codage de Huffman
Application sous Matlab
Définition d'une image numérique
On désigne sous le terme d'image
numériquetoute image (dessin, icône,
photographie,...)peuvent être acquises par
des dispositifs comme les scanners,
les appareils photo ou caméscopes numériques.
D'autre part,Une image numérique est constituée d'un ensemble de points appelés pixels . L'ensemble de ces pixels est contenu dans un tableau à deux dimensions constituant l'image
Le but de la compression est de réduire le volume des données (le nombre de bits) nécessaire pour représenter et coder les caractéristiques d’une image (élimine la redondance d’information), pour les raisons suivants:
Réduction du cout de stockage
Transmission rapide des données
Notion sur la compression
La compression consiste à réduire la taille physique de blocs d’informations. Elle est très utile pour plusieures applications informatiques.
Les différents algorithmes de compression sont basés sur 3 critères
1)Le taux de compression : c’est le rapport de la taille du fichier compressé sur la taille du fichier initial.

2) La qualité de compression : sans ou avec pertes (avec le pourcentage de perte).

3) La vitesse de compression et de décompression.

Schéma bloc de la compression en général
Chaines de codage/décodage JPEG
La figure suivante ulliste la chaine de codage /décodage JPEG
1/Découpage:
2/ Transformée en Cosinus Discrète (DCT)
Principe de la compression JPEG
On divise l'image en blocs de 8x8 pixels.
On applique une Transformée en Cosinus Discrète à chacun des blocs. On obtient alors des coefficients représentant les différentes fréquences de l'image pour un canal donné. En haut à gauche se trouve les basses fréquences, en bas à droite les hautes fréquences.
3/Quantification
l'étape de quantification, est de diminuer l'informations de hautes fréquences,puisque les informations de basses fréquences sont les plus pertinentes.

4/Zig-Zag
Scanner en Zig-Zag les coéfficients suivant
un algorithme (ZigZag) pour obtenir une
longue série de zéro.
Ce qui donne la suite suivante : 150, 80, 92, 26, 75, 20, 4, 18, 19, 3, 1, 2, 13, 3, 1, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.
5/ RLE
Nous donne le code de la répétition de pixels identiques en donnant le nombre de répétitions et le pixel à répéter.
6/Codage de Huffman
Le codage de Huffman est un algorithme de compression de données utilisant un arbre binaire et un code à longueur variable basé sur des probabilités d'apparition.
Lecture d'image
>>A=imread('rachid.jpg');
>>x=double(A);
>>x=rgb2gray(A)%convertir l'image coulour (RVB) à une image gris
>>img=x;
>>imshow(img);
Découpage de l'image en bloc 8x8
>>[L N]=size(img);
>>ZigTot=[];% Le vecteur ZigZag
>>data=[];% Le vevteur RLE
>>P=8;
for i=1:P:L
for j=1:P:N
H=img(i:i+P-1,j:j+P-1);%decomposition en bloc
8x8
Lés étapes de JPEG
Q=[...
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99];%Matrice de Quantification
H=H-128;%Changement de niveau
H=dct2(H);%Application de la DCT2d
H=H./Q;%Division par la matrice Q
H=round(H);
zigzag= [H(1,1) H(1,2) H(2,1) H(3,1) H(2,2) ...
H(1,3) H(1,4) H(2,3) H(3,2) H(4,1) ...
H(5,1) H(4,2) H(3,3) H(2,4) H(1,5) ...
H(1,6) H(2,5) H(3,4) H(4,3) H(5,2) ...
H(6,1) H(7,1) H(6,2) H(5,3) H(4,4) ...
H(3,5) H(2,6) H(1,7) H(1,8) H(2,7) ...
H(3,6) H(4,5) H(5,4) H(6,3) H(7,2) ...
H(8,1) H(8,2) H(7,3) H(6,4) H(5,5) ...
H(4,6) H(3,7) H(2,8) H(3,8) H(4,7) ...
H(5,6) H(6,5) H(7,4) H(8,3) H(8,4) ...
H(7,5) H(6,6) H(5,7) H(4,8) H(5,8) ...
H(6,7) H(7,6) H(8,5) H(8,6) H(7,7) ...
H(6,8) H(7,8) H(8,7) H(8,8)];%Algorithme de ZigZag
TZigTot=size(ZigTot);
TZigTot=TZigTot(2);
for r=1:64
ZigTot(TZigTot+r)=zigzag(r);
end
end
end
>>a=ZigTot;
>>data=rle(a);
>>x=[data{1,2}];
>>y=[data{1,1}];
>>z=sum(x);
>>p=x/z;
>>p;%Calcule de la probabilite
>>dict= huffmandict(y,p);
>>hcode = huffmanenco(a,dict);%Codage de Huffman
Application sous Matlab
Fonction de RLE
function data=rle(a)
if iscell(a)
i=cumsum([ 1 a{2}]);
j= zeros(1, i(end)-1);
j(i(1:end-1))=1;
data=a{1}(cumsum(j));
else
if size(a,1)>size(a,2),a=a';end
i=[find(a(1:end-1)~=a(2:end)) length(a)];
data{2}=diff([0 i]);
data{1}= a(i);
end
Image originele
Image compresser
Résultat obtenu
Merci de votre attention!
Full transcript