l'image de fond

Traitements Multi Echelles

La Tranfsormée en Ondelettes de Haar

Méthode

Programme

clear all; close all;

[filename, pathname] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files';...
          '*.*','All Files' },'mytitle',...
          'C:\Work\myfile.jpg')
f = imread(filename);
% image sur un plan
if (length(size(f))>2)
    f=f(:,:,1);% passage de 3 dimensions à 1 ( couleur->niveau de gris)
end
% nombre de bit
k=8;
%taile de l'image
[M N]=size(f);
tailleligne = log2(M);
taillecolonne = log2(N);
dimension = floor(min(tailleligne,taillecolonne));

f=double(f(1:2^dimension,1:2^dimension));
%dimension = 1; combien de passe faisons nous
F=f;
[M N]=size(F);
for d = 1 : dimension

     
    %haar wavelet
    h=zeros(M/2,N);
    g=h;
    for i = 0 : M/2-1
         h(i+1,2*i+1:2*i+2)=[0.5 0.5];
         g(i+1,2*i+1:2*i+2)=[-0.5 0.5];
    end
    w=[h;g];
    F(1:M,1:N) = w*F(1:M,1:N)*w';
    M=M/2;
    N=N/2;
   
end


%haar wavelet inverse
fr = F;
for d = dimension : -1 : 1
    M=M*2;
    N=N*2;
    h=zeros(M,N/2);
    g=h;
    for i = 0 : N/2-1
         h(2*i+1:2*i+2,i+1)=[1 1];
         g(2*i+1:2*i+2,i+1)=[-1 1];
    end
    w=[h g];

    fr(1:M,1:N) = w*fr(1:M,1:N)*w';
end

figure(  'Name','DWT haar',...
            'NumberTitle','off',...
            'color',[0.3137 0.3137 0.5098]);
subplot(121)
imshow(uint8(f))
title('Original');
subplot(122)
imshow(uint8(F))
title('Transformée en ondelettes de haar');
figure(  'Name','IDWT haar',...
            'NumberTitle','off',...
            'color',[0.3137 0.3137 0.5098]);
subplot(121)
imshow(uint8(F))
title('Transformée en ondelettes de haar');
subplot(122)
imshow(uint8(fr))
title('Transformée inverse');
 

Exemple

DWT avec 1 passe
DWT transformée en ondelettes discrete
IDWT associée à la DWT ci-dessus
DWT transformée inverse en ondelettes discrete
DWT avec 2 passe
DWT transformée en ondelettes discrete
IDWT associée à la DWT ci-dessus
DWT transformée inverse en ondelettes discrete
DWT avec le maximum de pass
DWT transformée en ondelettes discrete
IDWT associée à la DWT ci-dessus
DWT transformée inverse en ondelettes discrete

Copyright © 2010-2014, tous droits réservés, contact : operationpixel@free.fr