how to get the compressed image from huffman
2 views (last 30 days)
Show older comments
i am using huffman dictioanry to encode n decode
how do i get the compressed image entropy, average length
this is my code
clc
clear all
inputImage=imread('cameraman.bmp');
[row col] =size(inputImage);
quantizedValue=10;
QuantizedImage= inputImage/quantizedValue;
QuantizedImage=round(QuantizedImage);
%QuantizedImage=uint8(QuantizedImage);
%ImageArray=reshape(QuantizedImage,[1 row*col]);
GrayValueDict=(1:256);
ProbDict=zeros(1,256);
%{
for(i=0:255)
GrayValueDict(i+1)=i;
end
%}
for(i=0:255)
for(r=1:row)
for(c=1:col)
if(i==QuantizedImage(r,c))
ProbDict(i)=ProbDict(i)+1;
end
end
end
end
ProbDict= ProbDict/(row*col) ;
%ProbDict= round(ProbDict,3);
dict = huffmandict(GrayValueDict,ProbDict,5);
sig=reshape(QuantizedImage,[1 row*col]);
hcode = huffmanenco(sig,dict);
dhsig = huffmandeco(hcode,dict);
out= reshape(dhsig, [256 256]);
out=out*10;
subplot(1,2,1);
imshow(inputImage,[]);
subplot(1,2,2);
imshow(out,[]);
isequal(sig,dhsig);
0 Comments
Answers (0)
See Also
Categories
Find more on Denoising and Compression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!