- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像处理上机实习报告
(DIP4DIP7 )
学生姓名: 杜坤
班 级: 071123
学 号: 20121003699
指导老师: 傅 华 明
1
DIP-4 图像编码
一.题目要求
对图实施费诺-香农编码和解码,计算图像熵,平均码长和冗余度。
二.算法设计
1.测试脚本的程序框图
校对编码前后的数
开始 编码 计算图像的熵
据
读入图像的 根据编码的码字对 计算图像的
结束
数据为a 图像数据进行输出 平均码长
统计各个灰度 解码 编码的编码效率
值的概率
将解码后的数据
计算冗余度
data变行为8*8
将码字初始化
2.编码程序框图
读入图像的直方图,将图像的灰度值按照概率大小排序,按照香农编码的规
则编码。
香农编码将概率由大到小,由上到下排成一排,然后分为两组。是将大的一
组概率赋值为 0,概率小的一组赋值为 1,这是赋值的原则。然后依次的重复,
直到每组只有一种输入元素为止。
2
3.解码程序框图
三.实现代码
1.脚本文件
clear all
load mat
p = impr(a); %统计概率
code = FanoCodeInit(p); %Fano 编码初始化
3
code = FanoEncoder(code);%Fano 编码
outstream = FanoCodeStream(a,code); %输出
data = FanoDecoder(outstream,code);%解码
data = reshape(data,8,8); %恢复 8*8 的形状
data = data; %转置
I = abs(p.*log2(p));
disp(图像的熵为:);
H = sum(I(:)) %计算熵
disp(图像的平局码长为:)
B = FanoCodeLength(code); %求平均长度
disp(编码冗余度为: );
r = B/H - 1 %求冗余
disp(编码效率为: )
e = H/B %求编码效率
if isequal(a,data)
msgbox( 解码后的数据和输入的数据完全吻合 );
end
2.统计灰度的概率
function [p]= impr(f)
%概率统计
[m,n] = size(f);
graymax = max(f(:)); %找出灰度最大值,划定统计范围
p = zeros(1,graymax + 1);
for i = 1:m
for j = 1:n
x = f(i,j) + 1;
p(x) = p(x) + 1;
文档评论(0)