- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字图像处理上机实习报告
(DIP4----DIP7)
学生姓名: 杜坤
班 级: 071123
学 号: 20121003699
指导老师: 傅 华 明
DIP-4 图像编码
一.题目要求
对图实施费诺-香农编码和解码,计算图像
二.算法设计
1.测试脚本的程序框图
2.编码程序框图
读入图像的直方图,将图像的灰度值按照概率大小排序,按照香农编码的规则编码。
香农编码将概率由大到小,由上到下排成一排,然后分为两组。是将大的一组概率赋值为0,概率小的一组赋值为1,这是赋值的原则。然后依次的重复,直到每组只有一种输入元素为止。
3.解码程序框图
三.实现代码
1.脚本文件
clear all
load mat
p = impr(a); %统计概率
code = FanoCodeInit(p); %Fano编码初始化
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
统计灰度的概率
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;
end
end
p = p/(m*n);
End
3.码字的初始化
%FanoShano码字初始化
[m,n] = size(p);
for i = 1:n
code(i).gray = i - 1;
code(i).p = p(i);
code(i).str = ;
end
%冒泡法排序
for i = 1:n
for j = 1:n-i
if code(j).p code(j+1).p
temp = code(j);
code(j) = code(j+1);
code(j+1) = temp;
end
end
end
end
编码
function [pin] = FanoEncoder(pin)
%FanoShano编码
[m,n] = size(pin);
flag = 1;
while (flag)
start = 1;
stop = 1;
temp = pin(1);
for i = 1:n-1
if isequal(temp.str,pin(i+1).str)
stop = stop + 1;
elseif stop == start
start = i + 1;
stop = start;
temp = pin(i+1);
else
break;
end
end
if stop ~= start
pin = FanoCodeCat(pin,start,stop);
else
您可能关注的文档
最近下载
- 新能源汽车维护与保养学习单元1-5新车交付检查.pptx VIP
- 分布式光伏电站运维与检修.pptx VIP
- CNG及LNG加气站风险管控资料.docx VIP
- 山东省济南市章丘区2024-2025学年上学期第一次质量检测九年级数学试卷 .docx VIP
- 显示器色彩分析仪CA-410测头+PC软体CA-S40-KonicaMinolta.pdf VIP
- LNG加气站安全风险分析与防控.docx VIP
- 品質異常反饋與處理實戰.pptx VIP
- 品質異常處理流程.ppt VIP
- 2 《中国人首次进入自己的空间站》.pptx VIP
- 2025-2030年药膳市场现状供需分析及投资评估规划分析研究报告.docx VIP
文档评论(0)