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

上传人:cn****1 文档编号:477329834 上传时间:2023-01-09 格式:DOC 页数:5 大小:55KB
返回 下载 相关 举报
两个matlab实现最大熵法图像分割程序_第1页
第1页 / 共5页
两个matlab实现最大熵法图像分割程序_第2页
第2页 / 共5页
两个matlab实现最大熵法图像分割程序_第3页
第3页 / 共5页
两个matlab实现最大熵法图像分割程序_第4页
第4页 / 共5页
两个matlab实现最大熵法图像分割程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《两个matlab实现最大熵法图像分割程序》由会员分享,可在线阅读,更多相关《两个matlab实现最大熵法图像分割程序(5页珍藏版)》请在金锄头文库上搜索。

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=;forTh=st:nd-1%设定初始分割阈值为Thav1=0;av2=0;Pth=sum(count(

2、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(E=(max(E);th=st+position-1fori=1:mforj=1:nifa(i,j)tha(i,j)=255;elsea(i,j)=0;endendendfigure,imsh

3、ow(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);%计算平均领域灰度的一维灰度直方图fori=1:mforj=1:nfork=-h:hforw=-h:h;p=i+k;q=j+w;if(pm)p=i;endif(qn)q=j;enda1(i,j)=a0(p,q)+a1(i,j);endenda2(i,j)=uint8(1/9*a1(i,j);endendfxy=zeros(256,256);%计算二维直方图f

4、ori=1:mforj=1:nc1=a0(i,j);d=double(a2(i,j);fxy(c1+1,d+1)=fxy(c1+1,d+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);i

5、fPA(1,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);elseHA(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)=H

6、A(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);hmax=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;t=j-1;endendz=ones(m,n);fori=1:mforj=1:nifa0(i,j)=s&a2(i,j)=t%ifdouble(a(i,j)+double(a2(i,j)+a3(i,j)=s+t+qz(i,j)=0;elsez(i,j)=255;endendendhmaxstfigure,imshow(z);toc

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号