Está en la página 1de 2

clear all;close all;clc

imagen=imread('tramite.jpg');
imagenGris = rgb2gray(imagen); % Convierte a niveles de gris (uint8) da
un valor entre 0 y 256
b=double(imagenGris);
b=b/max(max(b));
%%%%%%%%%%%%%%%%%%%%%% PRIMERA ETAPA DEL FILTRO WAVELET%%%%%%%%%%%%%%
[h1,h2] = wfilters('db1','d')
%convoluciono los coeficientes del filtro con la matriz de la imagen
bh1=filter2(h1,b); %Filtro permite suabizar la Image
bh2=filter2(h2,b); %filtro permite resaltar los bordes
figure;
subplot(2,2,1); imshow(imagen);title('Original');%fitro pasa baja
subplot(2,2,2); imshow(b);title('Grises');%fitro pasa baja
subplot(2,2,3); imshow(bh1/max(max(bh1)));title('Filtro Pasa Bajo');
%fitro pasa baja
subplot(2,2,4); imshow(bh2+0.5);title('Filtro Pasa Alto');%fitro pasa
baja
%%%%%%%%%%%%%%%%%%%%%% SEGUNDA ETAPA DEL FILTRO WAVELET%%%%%%%%%%%%%%
[F C]=size(bh1)%dimension de la imagen La creacin de una imagen de
muestra con un tamao mucho menor por la eliminacin de los datos.
bh1m=bh1(:,1:2:C);% aplicamos Down sampler por colunna a la imagen del
filtro pasa bajo
bh2m=bh2(:,1:2:C);% aplicamos Down sampler por colunna a la imagen del
filtro pasa Alto
%Tenemos dos imagenes filtro PB y PA, y cada una con el Down Sampler, se
%le aplica a cada una el filtro
bh1mh1=filter2(h1',bh1m); % Imagen FPB se le aplica FPB, gemerando una
nueva imagen FPB
bh1mh2=filter2(h2',bh1m); % Imagen FPB se le aplica FPA, gemerando una
nueva imagen FPA
bh2mh1=filter2(h1',bh2m); % Imagen FPA se le aplica FPB, gemerando una
nueva imagen FPB
bh2mh2=filter2(h2',bh2m); % Imagen FPA se le aplica FPA, gemerando una
nueva imagen FPA
bLL=bh1mh1(1:2:F,:);% aplicamos Down sampler por fila a la
filtro PB
bLH=bh1mh2(1:2:F,:);% aplicamos Down sampler por fila a la
filtro PA
bHL=bh2mh1(1:2:F,:);% aplicamos Down sampler por fila a la
filtro pasa bajo
bHH=bh2mh2(1:2:F,:);% aplicamos Down sampler por fila a la
filtro pasa bajo
figure
subplot(2,2,1);imshow(bLL/max(max(bLL))); title(' LL ');
subplot(2,2,2);imshow(bLH+0.5); title(' LH ');
subplot(2,2,3);imshow(bHL+0.5); title(' HL');
subplot(2,2,4);imshow(bHH+0.5); title(' HH ');

imagen del
imagen del
imagen del
imagen del

%%%%%%%%%%%%%%%%%%%%%% TRANSFORMADA WAVELET INVERSA %%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[fil col]=size(bLL)
bLLin=zeros(2*fil,col);
bLLin(1:2:2*fil,1:col)=bLL;
bLHin=zeros(2*fil,col);
bLHin(1:2:2*fil,1:col)=bLH;
bHLin=zeros(2*fil,col);
bHLin(1:2:2*fil,1:col)=bHL;
bHHin=zeros(2*fil,col);
bHHin(1:2:2*fil,1:col)=bHH;
h2=[-1/sqrt(2),1/sqrt(2)]; %filtro pasa alto (h2: coeficientes del filtro
PA)
bL1=filter2(h1',bLLin)+filter2(h2',bLHin);
bH1=filter2(h1',bHLin)+filter2(h2',bHHin);
bLin=zeros(2*fil,2*col);bLin(1:2*fil,1:2:2*col)=bL1;
bHin=zeros(2*fil,2*col);bHin(1:2*fil,1:2:2*col)=bH1;
br=filter2(h1,bLin)+filter2(h2,bHin);
figure;
subplot(2,2,3); imshow(bLLin/max(max(bLLin)));
subplot(2,2,1); imshow(imagen);
subplot(2,2,2);imshow(sqrt(br/max(max(br))));
subplot(2,2,4);imshow(abs(b(2:2*fil,2:2*col)-br(1:2*fil-1,1:2*col-1)));

También podría gustarte