资源描述:
《信息论编码实验二熵的计算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二爛的计算一、实验目的通过本次实验的练习,使学生进一步巩固燔的基本概念,掌握燔的统计方法,培养学生使用编程工具进行分析计算的基本能力。二、实验仪器与软件1.PC机1台2.MATLAB7.0环境三、实验原理(一)信息爛的基本原理离散信源数学模型如下(设该信源可能取的符号有n个):⑷,a2,…,勺,…,anpg),pg…,p(a“)_X岁(X)则该信源的信息嫡为H(X)=》/?a)log2p(xji=lH(X)是信源X中每个事件出现的平均信息量,或者说H(X)表示了信源X中各符号出现的平均不确定性。图像的信息爛设数字图像
2、的灰度级集合为5,r2,…,打,其对应的概率分别为p(r.),p(r2),…,p(rj,则图像的信息嬌可以定义为:丹=-兰皿)10艮恥)(曲符号)2-1图像的信息爛表示像素各个灰度级位数的统计平均值,它给出了对此输入灰度级集合进行无失真图像编码时所需要的平均位数的下限。(二)图像文件的读取(1)函数imread()MATLAB通过函数inircad完成图像的读取,该函数语法格式如下:I=imread(filename,fmt)用于读取由filename指定的图像数据到数组A屮,参数fmt对应于所有图像处理工具所支持的图像
3、文件格式。如I二imreadCrice.tif);(2)函数imhist()显示图像的直方图。用法:imhist(I,n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。[counts,x]=imhist(T)返冋直方图数据向量counts或相应的色彩值向量x。(1)函数size(a)表示矩阵a每个维度的长度如size([123;456]),返回[23],表示该矩阵有2行3列(2)find寻找非零元素下标女山x=[11033055];find(x)ans二135find(
4、x二二0)ans二24(3)相关函数点运算在MATLAB中,有--种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、•'和厂。两矩阵进行点运算是指它们的対应元素进行相关运算,要求两矩阵的维参数相同。sum(X)求和运算,对矩阵X的所有元素进行求和for循环例:fork=l:10x(k)=k.2;end四、实验内容(-)对给出的图像信息,读取该图像信息,并通过统计该图像的像素值情况,计算各个像素值出现的概率,得到该图像的信息爛。(二)多个信源比较对多个不同图像源进行(一)操作,从物理
5、意义上对这些图像的信源嫡结果进行比较分析,得出结论。五、实验结果(利用所学知识,完成实验内容,并将实验过程和实验步骤和结果写在报告中)I=imreadCcameramar)・tif');imhist(I);[counts,x]=imhist⑴;A二size(I);Total二A(l,1)*A(1,2);B二find(counts);m二size(B);T=m(l,l)*m(l,2);S二0;fori二1:1:TP=counts(B(i,1),1)/Total;S二S-P*log2(P);enddisp(,S二')disp
6、(S)S=7.0097图1求cameraman,tif的信息嫡和灰度分布图I=imread(,lcneil.jpg');imhist⑴;[counts,x]=imhist(I);A二size(I);Total二A(l,1)*A(1,2);B二find(counts);m=size(B);T二m(l,2);S二0;fori二1:1:TP=counts(B(i,1),1)/Total;S二S-P*log2(P);enddisp(,S二')disp(S)S二7.4070图2求lenal.jpg的信息嫡和灰度分布图T二imrea
7、d(,lena2.jpg*);imhist(I);[counts,x]=imhist(1);A=size(I);Total二A(l,1)*A(1,2);B=find(counts);m=sizc(B);T=m(l,l)*m(l,2);S=0;fori二1:1:TP二counts(B(i,1),1)/Total;S二S-P*log2(P);enddisp('S二')disp(S)S=7.4450图3求lenal.jpg的信息嫡和灰度分布图六、实验小结(对本次实验结果进行分析和总结)本次实验顺利完成。在这次实验中我进一步巩固
8、了嫡的基本概念,也尝试学习并掌握了嫡的统计方法,开始有了使用编程工具进行分析计算的基木能力。因为课上已经学过很多爛的基本概念,有了很充足的理论知识,所以在操作实验的时候就显得得心应手,没有遇到什么特别的难题,实验完成的很成功也很顺利。