哈夫曼编码原理:
哈夫曼编码是一种编码方式, 哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码(有时也称为霍夫曼编码)。
matlab 哈夫曼编码代码
clear
clc
h = imread('e:/sss.bmp');
[m,n] = size(h);
subplot(1,2,1);
imshow(h);
title('原图');
h = h(:);
s = 0:255;
for i = 0:255
p(i+1) = length(find(h==i))/(m*n);
end
dict=huffmandict(s,p);
enco=huffmanenco(h,dict);
deco=huffmandeco(enco,dict);
deco=col2im(deco,[m,n],[m,n],'distinct');
subplot(1,2,2);
imshow(uint8(deco));
imWrite(deco,'1234.bmp')
title('哈夫曼编码');