Huffman coding and decoding for image(JPEG, BMP)
    20 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Manisha Mehra
 el 28 de Feb. de 2011
  
    
    
    
    
    Comentada: Harshil Patel
 el 28 de Abr. de 2020
            I have to implement huffman encoding and decoding for a '.bmp' image without using the inbuilt matlab function like huffmandict, huffmanenco and huffmandeco.
Can anybody help me by sending me the source code?
Moreover, I have done the encoding part but I am not able to do the decoding. I have no idea as how to reconstruct the image through decoding.
4 comentarios
  Jasmina Vanasiwala
 el 12 de Dic. de 2016
				I have to implement huffman encoding and decoding for a 'jpeg' image using C or C++. Please anyone help me by sending the source code?
  Walter Roberson
      
      
 el 12 de Dic. de 2016
				- this is a resource for MATLAB questions not C or C++
- there are already a lot of public sources for that task including libjpeg
- if we send you source then you would not have implemented it. Would we get the academic credit or would you?
Respuesta aceptada
Más respuestas (2)
  Falak
 el 4 de Mayo de 2012
        Try this one... just change to your required image
%Author Name:Falak Shah
%Target: To huffman encode and decode user entered string
%--------------------------------------------------------------------------
string=input('enter the string in inverted commas');         %input string
symbol=[];                                %initialise variables
count=[];
j=1;
%------------------------------------------loop to separate symbols and how many times they occur
for i=1:length(string)                   
  flag=0;    
  flag=ismember(symbol,string(i));      %symbols
      if sum(flag)==0
      symbol(j) = string(i);
      k=ismember(string,string(i));
      c=sum(k);                         %no of times it occurs  
      count(j) = c;
      j=j+1;
      end 
end    
ent=0;
total=sum(count);                         %total no of symbols
prob=[];                                         
%-----------------------------------------for loop to find probability and
%entropy
for i=1:1:size((count)');                   
prob(i)=count(i)/total;
ent=ent-prob(i)*log2(prob(i));            
end
var=0;
%-----------------------------------------function to create dictionary
[dict avglen]=huffmandict(symbol,prob);    
% print the dictionary.
         temp = dict;
         for i = 1:length(temp)
         temp{i,2} = num2str(temp{i,2});
         var=var+(length(dict{i,2})-avglen)^2;  %variance calculation
         end
         temp
%-----------------------------------------encoder  and decoder functions           
sig_encoded=huffmanenco(string,dict)
deco=huffmandeco(sig_encoded,dict);
equal = isequal(string,deco)
%-----------------------------------------decoded string and output
%variables
str ='';
for i=1:length(deco)    
str= strcat(str,deco(i));
end
str
ent
avglen
var
8 comentarios
  Harshil Patel
 el 28 de Abr. de 2020
				I ran the code in matlab 2020a, and it generated some otput with some values for str, ent, avglen and var for an image input. So, how do I know if it's correct?
  slama najla
 el 19 de Mayo de 2012
        Hello please is that you can help me? is that you can send me your registration code files before you get the picture compressed as I encounter the same problem as let go of compressed image is a very superior picture framer and my original remark that the fault is in the recording files. thank you in advance
9 comentarios
  SS
 el 27 de Nov. de 2019
				rng('default') % For reproducibility
X = rand(10,3);
In this code, what will be the value of X for my image..???
Ver también
Categorías
				Más información sobre Source Coding en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!










