两个matlab实现最大熵法图像分割程序

两个matlab实现最大熵法图像分割程序

ID:34730621

大小:72.68 KB

页数:5页

时间:2019-03-10

两个matlab实现最大熵法图像分割程序_第1页
两个matlab实现最大熵法图像分割程序_第2页
两个matlab实现最大熵法图像分割程序_第3页
两个matlab实现最大熵法图像分割程序_第4页
两个matlab实现最大熵法图像分割程序_第5页
资源描述:

《两个matlab实现最大熵法图像分割程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、%两个程序,亲测可用clearalla=imread('moon.tif');figure,imshow(a)count=imhist(a);[m,n]=size(a);N=m*n;L=256;count=count/N;%%每一个像素的分布概率countfori=1:Lifcount(i)~=0st=i-1;break;endendstfori=L:-1:1ifcount(i)~=0nd=i-1;break;endendndf=count(st+1:nd+1);%f是每个灰度出现的概率size(f)E=[];fo

2、rTh=st:nd-1%%%设定初始分割阈值为Thav1=0;av2=0;Pth=sum(count(1:Th+1));%%%第一类的平均相对熵为fori=0:Thav1=av1-count(i+1)/Pth*log(count(i+1)/Pth+0.00001);end%%%第二类的平均相对熵为fori=Th+1:L-1av2=av2-count(i+1)/(1-Pth)*log(count(i+1)/(1-Pth)+0.00001);endE(Th-st+1)=av1+av2;endposition=find(

3、E==(max(E)));th=st+position-1fori=1:mforj=1:nifa(i,j)>tha(i,j)=255;elsea(i,j)=0;endendendfigure,imshow(a);%%%%%%%%%%%%%%%%%%%%%2-d最大熵法(递推方法)%%%%%%%%%%%clearall;clc;tica=imread('trial2_2.tiff');figure,imshow(a);a0=double(a);[m,n]=size(a);h=1;a1=zeros(m,n);%计算平均

4、领域灰度的一维灰度直方图fori=1:mforj=1:nfork=-h:hforw=-h:h;p=i+k;q=j+w;if(p<=0)

5、(p>m)p=i;endif(q<=0)

6、(q>n)q=j;enda1(i,j)=a0(p,q)+a1(i,j);endenda2(i,j)=uint8(1/9*a1(i,j));endendfxy=zeros(256,256);%计算二维直方图fori=1:mforj=1:nc1=a0(i,j);d=double(a2(i,j));fxy(c1+1,d+1)=fxy(c1+1,d

7、+1)+1;endendPxy=fxy/m/n;%figure,%mesh(Pxy);%title('二维灰度直方图');%计算HlHl=0;fori=1:256forj=1:256ifPxy(i,j)>0.00001Hl=Hl-Pxy(i,j)*log(Pxy(i,j));elseHl=Hl;endendend%计算PA,HAPA=zeros(256,256);HA=zeros(256,256);PB=zeros(256,256);PA(1,1)=Pxy(1,1);ifPA(1,1)<1e-4HA(1,1)=0;

8、elseHA(1,1)=-PA(1,1)*log(PA(1,1));endfori=2:256PA(i,1)=PA(i-1,1)+Pxy(i,1);ifPxy(i,1)>0.00001HA(i,1)=HA(i-1,1)-Pxy(i,1)*log(Pxy(i,1));elseHA(i,1)=HA(i-1,1);endendforj=2:256PA(1,j)=PA(1,j-1)+Pxy(1,j);ifPxy(1,j)>0.00001HA(1,j)=HA(1,j-1)-Pxy(1,j)*log(Pxy(1,j));els

9、eHA(1,j)=HA(1,j-1);endendfori=2:256forj=2:256PA(i,j)=PA(i-1,j)+PA(i,j-1)-PA(i-1,j-1)+Pxy(i,j);ifPxy(i,j)>0.00001HA(i,j)=HA(i-1,j)+HA(i,j-1)-HA(i-1,j-1)-Pxy(i,j)*log(Pxy(i,j));elseHA(i,j)=HA(i-1,j)+HA(i,j-1)-HA(i-1,j-1);endendend%计算最大熵PB=1-PA;h=zeros(256,256);h

10、max=0;fori=1:256forj=1:256ifabs(PA(i,j))>0.00001&abs(PB(i,j))>0.00001h(i,j)=log(PA(i,j)*PB(i,j))+HA(i,j)/PA(i,j)+(Hl-HA(i,j))/PB(i,j);elseh(i,j)=0;endifh(i,j)>hmaxhmax=h(i,j);s=i-1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。