MATLAB互信息函数.docx

上传人:罗晋 文档编号:8653970 上传时间:2020-12-14 格式:DOCX 页数:2 大小:65.39KB
返回 下载 相关 举报
MATLAB互信息函数.docx_第1页
第1页 / 共2页
MATLAB互信息函数.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《MATLAB互信息函数.docx》由会员分享,可在线阅读,更多相关《MATLAB互信息函数.docx(2页珍藏版)》请在三一文库上搜索。

1、MATLAB互信息函数function mi,mi1=CalculateMI(a,b,gray_level,normalization)%,a_nogray,b_nogray)%参数 :a-输入图像 ab-输入图像bmi-图像 a 与b 互信息值normalization-就是否归一化互信息值,默认0 不归一化功能 :利用一个联合直方图,计算两幅图像的互信息值% if nargin 6% b_nogray = ;% end% if nargin 5% a_nogray = ;% endif nargin 4 | isempty(normalization)normalization = 0;e

2、ndif nargin 255 %保证图像为8 位灰度图a = a/max(max(a)*255;endif max(max(b) 255b = b/max(max(b)*255;endif gray_level = 256%当灰度等级不为256 时a = a/max(max(a)*gray_level;b = b/max(max(b)*gray_level;endM,N=size(a);hab=zeros(gray_level,gray_level);if max(max(a)=min(min(a)a=(a-min(min(a)/(max(max(a)-min(min(a);elsea=ze

3、ros(M,N);MATLAB互信息函数endif max(max(b)=min(min(b)b=(b-min(min(b)/(max(max(b)-min(min(b);elseb=zeros(M,N);enda=double(int16(a*(gray_level-1)+1;b=double(int16(b*(gray_level-1)+1;for i=1:Mfor j=1:Nindex_x=a(i,j);index_y=b(i,j);hab(index_x,index_y)=hab(index_x,index_y)+1;endendhabsum=M*N;% if isempty(a_no

4、gray)% hab(1:a_nogray+1,:) = 0;% end% if isempty(b_nogray)% hab(:,b_nogray+1) = 0;% end%index=find(hab=0);pab=hab/habsum; Hab=sum(sum(-pab(index) 、 *log2(pab(index); pa=sum(pab);index=find(pa=0); Ha=sum(-pa(index)、 *log2(pa(index); pb=sum(pab);index=find(pb=0); Hb=sum(-pb(index) 、 *log2(pb(index); if normalization = 1mi = (Ha+Hb)/Hab;elsemi=Ha+Hb-Hab;endmi1 = (Ha+Hb)/Hab;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1