- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
生产实习报告 实习项目 基于matlab图像性能评价系统 学生学院 信息工程学院 生产实习报告----基于matlab数字图像性能评价系统1引言数字图像就是以数字形式的数据进行存储和处理的图像,利用计算机可以对它进行常规图像处理技术所不能实现的加工处理。近年来,随着多媒体技术和因特网技术的快速发展,数字图像处理技术与理论已成为计算机应用的一个重要领域,广泛应用于众多的科学与工应用,如遥感、医学、气象、通信等。在对图像进行数字化处理后,势必要涉及到图像质量评价。常用的处理方法有:(1)通过人眼主观视觉效果来判断。这种方法虽然简单,但由于太过主观化,不适合于自动化处理。(2)通过客观标准来衡量。通过定义一些客观标准来对图像质量进行公式化的评估,尽管不是绝对有效,但可方便地用于计算机处理中。本文正是讨论评价图像质量的客观标准,以及通过MATLAB 软件来实现。2 图像质量评价的客观标准在实际应用中,我们经常会采用如下一些图像的数字特征来做为图像质量评估的主要客观标准。(1)均方误差( MSE )和峰值信噪比( PSNR )MSE 和PSNR 定义分别为:其中 N,M 分别是x 方向、y 方向图像像素点的个数,fij 和fi′j 分别是原始图像和重构图像在点(i, j) 上的取值,L 是图像中灰度取值的范围,对8 比特的灰度图像而言L = 255。峰值信噪比( PSNR )反映的是整个图像的失真程度,一般情况下,峰值信噪比( PSNR )愈大的图像其质量愈高。(2)熵对一个随机事件E ,如果它的出现概率是P(E) ,那么它包含的信息为:将一副静止图像看作一个具有随机输出的信源,信源符号集B 定义为所有可能的符号的集合{bi},信源产生符号bi 的概率是P(bi ),那么一幅图像的平均信息率可用下式表示:将H(u)称为信息的熵,它定义了观察到单个信源符号输出时所获得的平均信息量。熵达到最大的情况出现在信源各符号的出现概率相等时,而信源此时提供最大可能的信源符号平均信息量。(3)综合评价指数对两幅图像进行质量评价,只凭一个指标很难客观地反映出差别,如果把以上三个指标综合起来衡量会使评价更加客观,与主观的视觉感受会更加一致。图片的质量与均方差(MSE)成反比例关系,与峰值信噪比(PSNR)、熵值(ENTROPY)成正比例关系,不妨设定综合评价指数=PSNR*ENTROPY/MSE,这样的话综合评价指数越高,图像质量就越高。3 matlab主要代码function pushbutton1_Callback(hObject, eventdata, handles)global X[name,path]=uigetfile(*.*,);file=[path,name];axes(handles.axes1);X=imread(file); %读取图像handles.img=X;guidata(hObject, handles);imshow(X); %显示图像-----------------------------------------------------------------------------------------------------------------------function pushbutton4_Callback(hObject, eventdata, handles)global X %定义全局变量global Yglobal a1[r,c]=size(X);mse_m=double(zeros(r,c));for i=1:rfor j=1:cmse_m(i,j)=(X(i,j)-Y(i,j))^2;endendmse=sum(mse_m(:))/(r*c)psnr=10*log(double(255*255/mse))/log(10)%% 统计X图像各灰度值的像素点,概率统计以及图像的熵t(1:256)=0; for i=1:rfor j=1:ct(Y(i,j)+1)=t(Y(i,j)+1)+1;endendfor i=1:256t(i)=t(i)/(256*256);endentropy=0;for i=1:256if t(i)0entropy=entropy-t(i)*log(t(i))/log(2);endendentropyb = num2str(mse);c = num2str(psnr);d = num2str(entropy);e=num2str(psnr*entropy/mse);%综合评价指数a1=psnr*entropy/mse;% need to convert the answer back into String
文档评论(0)