huffman encoding for image compression
Show older comments
i am using the following code for huffman encoding-
img = imread('xyz.jpg');
Image = rgb2gray(img);
Image = Image(:);
[N M] = size(Image)
Count = zeros(256,1)
for i = 1:N
for j = 1:M
Count(Image(i,j)+1)=Count(Image(i,j)+1)+1;
end
end
prob = Count/(M*N)
symbols = 1:256;
[dict,avglen] = huffmandict(symbols,prob);
comp = huffmanenco(Image,dict);
but i am getting the following error-
Error using huffmanenco (line 86)
The Huffman dictionary provided does not have the codes for all the input signals.
Error in Untitled2 (line 14)
comp = huffmanenco(Image,dict);
please suggest the required changes
3 Comments
Francesco Grauso
on 9 Nov 2018
Replace: symbols = 1:256;
with: symbols = 0:255;
Swarnali Sadhukhan
on 3 May 2019
clc;
clear all;
close all;
warning off;
x = imread('brain.jpg');
img=imresize(x,[256 256]);
Image = rgb2gray(img);
%Image = Image(:);
[M N] = size(Image)
Count = 0:255;
for i = 1:M
for j = 1:N
Count(Image(i,j)+1)=Count(Image(i,j)+1)+1;
end
end
prob = Count/(M*N);
symbols = 0:255;
[dict,avglen] = huffmandict(symbols,prob);
comp = huffmanenco(Image,dict);
figure,imshow(comp); title('encoded.JPG');
Swarnali Sadhukhan
on 3 May 2019
Error using huffmandict (line 107)
The sum of elements of the probability
vector must be 1
Error in huffman (line 19)
[dict,avglen] =
huffmandict(symbols,prob);
I am getting this error .How can I solve this?
Answers (3)
reb rebz
on 22 Mar 2019
img = imread('xyz.jpg');
Image = rgb2gray(img);
Image = Image(:);
[N M] = size(Image)
Count = zeros(256,1)
for i = 1:N
for j = 1:M
Count(Image(i,j)+1)=Count(Image(i,j)+1)+1;
end
end
prob = Count/(M*N)
symbols = 0:255;
[dict,avglen] = huffmandict(symbols,prob);
comp = huffmanenco(Image,dict)
1 Comment
Islam Abu Tabikh
on 12 May 2019
Did you know how ???
satyendra kumar
on 23 Mar 2019
i am using the following code for huffman encoding-
clear all
clc
A=imread('cameraman.tif');
A1=double(A(:));
[p,symbols]=hist(A1,unique(A1));
p=p/sum(p);
[dict,avglen] = huffmandict(symbols,p);
comp = huffmanenco(A1,dict);
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!