huffman encoding for image compression
24 次查看(过去 30 天)
显示 更早的评论
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 个评论
Swarnali Sadhukhan
2019-5-3
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
2019-5-3
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?
回答(3 个)
reb rebz
2019-3-22
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)
satyendra kumar
2019-3-23
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);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Source Coding 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!