huffmandeco Huffman decoder
huffmandict Generate Huffman code dictionary for a source with known probability model
huffmanenco Huffman encoder
密凳乎悉码生成:枣乎
symbols = [1 2 3]% Data symbols
p = [0.1 0.1 0.8]% Probability of each data symbol
dict = huffmandict(symbols,p) % Create the dictionary.
dict{1,:} % Show one row of the dictionary.
加密解顷纯密:
sig = repmat([3 3 1 3 3 3 3 3 2 3],1,50)% Data to encode
symbols = [1 2 3]% Distinct data symbols appearing in sig
p = [0.1 0.1 0.8]% Probability of each data symbol
dict = huffmandict(symbols,p)% Create the dictionary.
hcode = huffmanenco(sig,dict)% Encode the data.
dhsig = huffmandeco(hcode,dict)% Decode the code.
如果你是基于特定一篇英文文本编厅顷搭码,那就要自己构建huffman coding table, 也就是先计算每个字母出现的频率,然后对每个字母编码;如果你已经有huffman coding table,那就直接编码。table也需要同时传送,不只是传送编码。
解码的时候扮拿按照table依乎差次查询即可。
没用过,但是检查,皮中芦matlab程序自带huffmancoding基本上你需要1。测试图像灰度(SIG)找出来,
2,然后统计灰度分布(p),
3。然后生成一个字典(字典),
4。然后就可以直接使用huffmanenco编码,
5。然后huffmandeco恢复。
奇怪的是不是无损压缩哈夫曼编码它,为什么会出现损失呢?等待丹尼尔回答
看看下面的例子:
SIG = repmat([3 3 1 3 3 3 3 3 2 3],1,50)%的数据来编码
符号= [1 2 3]%不培贺同的数据码元出现在SIG
p值= [0.1 0.1 0.8]的每个数据符号的%概率
字典= huffmandict(码元,p)的%创建
hcode = huffmanenco字典(SIG,字典)。%编码
dhsig = huffmandeco数据(hcode,字典)%解码的代燃带码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)