Académique Documents
Professionnel Documents
Culture Documents
Zangré Ibrahim
Rapport de TP - Séance 4
Initiation au traitement de signal et applications
(Responsable : M F. Sur)
Algorithme Matlab :
function [Sortie,taux]=compression1(Signal,Seuil);
[n,m]=size(Signal);
s1=dct(Signal);
indic=(abs(s1)>Seuil);
s2=s1.*indic;
s3=idct(s2);
Sortie=s3;
taux=length(find(abs(s2)<Seuil))/length(Signal);
1
Commande Matlab :
>> [w1,Fs,nbits]=wavread(’foryoublue.wav’);
>> [sonCompresse,taux]=dct_compression(w1,0.5);
>> taux
taux =
0.4205
>> imwrite(uint8(Image),’ImageCompressee.jpg’,’quality’,100 )
50
20
100
40 150
200
60
250
300
80
350
100 400
450
120
500
20 40 60 80 100 120 50 100 150 200 250 300 350 400 450 500
2
50
20
100
40 150
200
60
250
300
80
350
100 400
450
120
500
20 40 60 80 100 120 50 100 150 200 250 300 350 400 450 500
Le Block effect :
La méthode de compression du format JPEG est entre autre basée sur le découpage des canaux
de l’image en blocks 8 × 8, et ensuite l’application de la DCT sur ces blocks ; de ce fait, lorsque le
taux de compression augmente, chaque block est pratiquement remplacé par sa moyenne ; l’image
resultante présente donc des blocks chacun de couleur uniforme, comme on peut l’observer sur la
figure 2 ci-dessus.
Le Ringing effect :
C’est un effet dû à l’effet de Gibbs : les sauts de niveau de gris provoquent des ’oscillations rési-
duelles’ de la transformée par DCT ; on observe donc sur l’image résultante une sorte de sinusoides
au niveau des contours (lieu des contrastes).
Si on augmente la taille des blocks, avec un fort taux de compression,on obtient une mosaïque ;
la resolution dimunie fortement.
On fait la même expérience sur une image en couleur ’GrandTeton.jpg’ :
On observe les effets de blocks et de ringing sur l’image en couleur compressée ; on observe aussi
une dérive des couleurs : cela est dû à l’effet de block sur les canaux de chrominance.
Commande Matlab
3
50 50
100 100
150 150
200 200
250 250
300 300
350 350
50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500
50
100
150
50
200
100
250
150
300
200
350
250 400
50 100 150 200 250
450
4
4.b Par zero -padding (FFT)
Cette méthode consiste à prendre la matrice des coefficients de la transformmée de Fourier et
la compléter par des zeros pour avoir une matrice de taille 2N × 2N et de prendre ensuite la trans-
forméé inverse :
Commande Matlab
>> Image=double(imread(’boat.tif’));
>> N=size(Image); % N pair
>> fftImage=fftshift(fft2(Image));
>> fftImage2=zeros(2*N);
>> fftImage2(N/2+1:3*N/2,N/2+1:3*N/2)=fftImage;
>> Image2fft=ifft2(ifftshift(fftImage2));
>> figure
>> colormap(gray)
>>imagesc(real(Image2fft))
Commande Matlab
>> Image=double(imread(’boat.tif’));
>> N=size(Image); % N pair
>> dctImage=dct(dct(Image)’);
>> dctImage2=zeros(2*N);
>> dctImage2(1:N,1:N)=dctImage;
>> Image2dct=idct(idct(dctImage2)’);
>> figure
>> colormap(gray)
>> imagesc(real(Image2dct))
On obtient avec les deux méthodes sur l’image ’boat.tif’, les images suivantes :
100 100
200 200
300 300
400 400
500 500
600 600
700 700
800 800
900 900
1000 1000
100 200 300 400 500 600 700 800 900 1000 100 200 300 400 500 600 700 800 900 1000
5
On a l’apparition d’une effet de Gibbs au niveau des contours avec la méthode de la transformée
de fourier : en effet on a placé la transformée de l’image au centrée d’une matrice pleine de zeros ;
ce qui revient en quelque sorte à annuler des coefficients hautes fréquences.
On observe dégradation de l’image au niveau des contours avec la méthode de duplication, et l’effet
de Gibbs (perceptible au niveau des contours et du bord de l’image) est moins prépondérant dans
la méthode DCT que dans DFT : avantage certain de la DCT par rapport à la DFT.
Appliquons les deux méthodes précédentes sur une image en couleur (’GrandTeton.jpg’) dont on
traite les canaux de couleurs indépendamment.
On obtient les canaux de couleurs Y CbCr avec la commande Matlab suivante (où Y CbCr est un
tenseur N × N × 3) :
>>Image=uint8(imread(’GrandTeton.jpg’));
>> YCrCb=rgb2ycrcb(Image);
>>Y=YCrCb(:,:,1);
>>Cb=YCrCb(:,:,2);
>>Cr=YCrCb(:,:,3);
On applique donc les deux méthodes précédentes sur les canaux Y , Cb et Cr.
6
50 50
100 100
150 150
200 200
250 250
300 300
350 350
50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500
L’image resultante duppliquée est la suivante : (un problème survenu lors de la transformation
par DCT empêche la reconstitution de toutes les couleurs, à vrai dire on ne sait pas où est le pro-
blème !) :
100
200
300
400
500
600
700
100 200 300 400 500 600 700 800 900 1000