图像分割 最大熵对灰度图像基于区域的阈值分割源码程序 - matlab图像处理 - 谷速源码
下载频道> 资源分类> matlab源码> 图像处理> 图像分割 最大熵对灰度图像基于区域的阈值分割源码程序

标题:图像分割 最大熵对灰度图像基于区域的阈值分割源码程序
分享到:

所属分类: 图像处理 资源类型:程序源码 文件大小: 817 Bytes 上传时间: 2019-06-16 16:06:43 下载次数: 7 资源积分:1分 提 供 者: zhangsan456 zuidashang1
内容:
图像分割:最大熵对灰度图像基于区域的阈值分割
X=imread('711.jpg');
X=rgb2gray(X);
imhist(X);
X=double(X);
[M,N]=size(X);
hist=zeros(1,256);
tic;
for i=1:1:M
    for j=1:1:N
        fi=X(i,j);
        hist(fi+1)=hist(fi+1)+1;
    end
end
i=1:1:256;
figure
plot(i,hist);
p=zeros(1,256);
for i=1:1:256
    p(i)=hist(i)/(M*N);
end
E1=zeros(1,256);
E2=zeros(1,256);
P=zeros(1,256);
E=zeros(1,256);
 
for t=1:1:256
    for i=1:1:t
        P(t)=P(t)+p(i);
    end
        if(P(t)>0&&P(t)<1)
%               Q=0;
           for i=1:1:t
               E1(t)=E1(t)-(p(i)/P(t))*log(p(i)/P(t)+eps);
           end
%            A(s)=2*log(P(s)+eps)-log(Q+eps);
%            R=0;
           for i=t+1:1:256 
               E2(t)=E2(t)-(p(i)/(1-P(t)))*log(p(i)/(1-P(t))+eps);
           end
%            B(s)=2*log(1-P(s)+eps)-log(R+eps);
       end
       E(t)=E1(t)+E2(t);
end
MAX=0.000001;
 
for t=68:1:156
     %i=1:1:s;
     %j=s+1:1:256;
    if(E(t)>MAX)
        MAX=E(t);
        th=t;
    end
end
     
% end
% [max,colum2]=max(E);
% th=colum2;
g=zeros(M,N);
for i=1:1:M
   for j=1:1:N
       if(th<X(i,j))
         X(i,j)=1;
         g(i,j)=X(i,j);
     else X(i,j)=0;
         g(i,j)=X(i,j);
     end
 end
end
X=X.*255;
X=uint8(X);
imshow(X);
t_eclapsed=toc;

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

关键词: 图像分割 最大熵 区域的阈值分割

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved