domingo, 6 de noviembre de 2011

funcion para decodificar la imagen

Como se indico se usan las mismas tablas que se usaron para la codificación.


 function [AlturaImagen,AnchoImagen,Imagen_CodY_zigzag_linea,Imagen_CodCB_zigzag_linea,Imagen_CodCR_zigzag_linea] = leerArchivo(pathCompleto)

 fid = fopen(pathCompleto,'r');



%Guardo la altura y el ancho de la imagen


AlturaImagen = fread(fid,1,'uint16');  
AnchoImagen = fread(fid,1,'uint16') ;

%Función para la codificación:



function datosLineales = decodificarHuffmanRLE(fid);
categoria=0;
datosLineales=[];
palabra=[];
banderaLecturaNum=1;
while ~feof(fid)
 byte=fread(fid,1,'uint16');
    bits= sprintf('%016d', dec2bin(byte));
%bitsAC=bitget(uint16(abs(numsAC(i))),8:-1:1);
for i=1:16
        palabra = [palabra bits(i)]; %#ok
if banderaLecturaNum==0 && numel(palabra)>2
[exito,run,categoria]=descifrarParametros(palabra);
if categoria>0 && exito==1
banderaLecturaNum=1;
palabra=[];
end
if categoria == 0 && exito==1
datosLineales=[datosLineales formarLineaDecodificada(run,categoria,0)]; %#ok
end
elseif banderaLecturaNum==1 && numel(palabra)==categoria
datosLineales=[datosLineales formarLineaDecodificada(run,categoria,palabra)]; %#ok
banderaLecturaNum=0;
palabra=[];
end
end
end

No hay comentarios:

Publicar un comentario