
霍夫曼编码 matlab 文字编码:输入一段字符串(由小写英文字母组成),通过调用函数实现对 字符串的编解码
图像编码:读入测试图像(见附件),通过调用函数实现图像编解码,比较解压后的图像和原始测试图像是否一致。分别计算并比较三幅测试图像的压缩率。对于内容相同的测试图像baboo...
图像编码:读入测试图像(见附件),通过调用函数实现图像编解码,比较
解压后的图像和原始测试图像是否一致。分别计算并比较三幅测试图像的压
缩率。对于内容相同的测试图像baboon_1.bmp 和baboon_2.bmp,解释压缩
率不同的原因(提示:观察图像直方图)。 展开
解压后的图像和原始测试图像是否一致。分别计算并比较三幅测试图像的压
缩率。对于内容相同的测试图像baboon_1.bmp 和baboon_2.bmp,解释压缩
率不同的原因(提示:观察图像直方图)。 展开
1个回答
展开全部
没用过,但查了一下,matlab 自带huffmancoding 的程序,基本上是你需要
1. 把测试图像的灰度(sig)找出来,
2, 然后统计灰度的分布(p),
3. 然后生成一个字典(dict),
4. 然后直接就可以用huffmanenco进行编码,
5. 再用huffmandeco进行恢复。
奇怪的是 huffman coding不是无损压缩么,为什么会有损失? 等待大牛回答
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.
1. 把测试图像的灰度(sig)找出来,
2, 然后统计灰度的分布(p),
3. 然后生成一个字典(dict),
4. 然后直接就可以用huffmanenco进行编码,
5. 再用huffmandeco进行恢复。
奇怪的是 huffman coding不是无损压缩么,为什么会有损失? 等待大牛回答
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.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询