Compresión de imágenes usando la transformada de wavelet y el algoritmo de Huffman
Hoy quiero compartirles un artículo que he escrito acerca de como comprimir imágenes, usando la transformada de wavelet, y el algoritmo de huffman. también quiero compartirles una implementación de este proceso en matlab.
El artículo explica el proceso, y demuestra cuanto comprime. se recomienda leer el articulo y hacer las comparaciones en los programas, pues el uso de pdf altera la calidad de las imágenes.
Compresión de imágenes usando la transformada de wavelet y el algoritmo de huffman(PDF)


27 septiembre 2009 









??? Undefined function or method ‘reconstruir’ for input arguments of type ‘double’.
Error in ==> waveletCarmen at 68
recuperada=reconstruir(fpbtpbd,fpbtpad,fpatpbd,fpatpad);
Ya que la función recontruir no esta definida, podría alguien darme la función definida???.
O si el fallo esta en otra parte, decidmelo por favor.
Muchas gracias!!!!!
function img = reconstruir(pbpb,pbpa,papb,papa)pbpb=deshacacerDiezmado(pbpb,2);
pbpa=deshacacerDiezmado(pbpa,2);
papb=deshacacerDiezmado(papb,2);
papa=deshacacerDiezmado(papa,2);
fpb=[1/sqrt(2),1/sqrt(2)];
fpa=[-1/sqrt(2),1/sqrt(2)];
pb1=filter2(fpb',pbpb);
pb2=filter2(fpa',pbpa);
pa1=filter2(fpb',papb);
pa2=filter2(fpa',papa);
pb=pb1+pb2;
pa=pa1+pa2;
pb=deshacacerDiezmado(pb,1);
pa=deshacacerDiezmado(pa,1);
pb=filter2(fpb,pb);
pa=filter2(fpa,pa);
img=pb+pa;
necesitaran también esta funcion llamada deshacerDiezmado
function img=deshacacerDiezmado(imagen,sentido)%sentido, 1 para hacerlo verticalmente y 2 para hacerlo horizontal[h,w]=size(imagen);
if sentido == 1
img=zeros(h,w*2);
else
img=zeros(h*2,w);
end
if sentido == 1
for i=1:2:w*2
img(:,i)=imagen(:,(i+1)/2);
end
else
for i=1:2:h*2
img(i,:)=imagen((i+1)/2,:);
end
end
end
si les hace falta algo dejen sus comentarios.