在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1580|回复: 0

我自己编写的阈值分割函数,大家可以根据实际需要进行修改!!!

[复制链接]
发表于 2016-11-2 14:03:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
function yz=threshold(imgr)
c=zeros(1,256);
omega0=zeros(1,256);
omega1=zeros(1,256);
mu_0=zeros(1,256);
mu_1=zeros(1,256);
delta=zeros(1,256);
g=0;
[m, n]=size(imgr);
yz=zeros(m, n);
c=imhist(imgr);
%% Frequency of every gray level
for i=1:256
    p(i)=c(i)/(m*n);    % frequency
end
p1=sum(p(1:256));       % 概率和为1
%% the average of the image
for i=1:256
    mu=(i-1)*p(i)+g;
    g=mu;
end
g=0;
%% the minimum of the gray level
for i=1:256
    if c(i)~=0
        min=i-1;
        break
    end
end
%% the maximum of the gray level
for i=256:-1:1
    if c(i)~=0
        maxi=i-1;
        break
    end
end
%% the probablity of every part in the image     
for th=min+2:maxi
    for i=min:th-1
        omega0(th)=p(i)+g;  % the probablity of part1 in the image
        g=omega0(th);
    end
    g=0;
    for i=min:th-1
        mu_0(th)=(i-1)*p(i)/omega0(th)+g;  % the average of gray level in the part1
        g=mu_0(th);
    end
    g=0;
    for j=th:maxi
        omega1(th)=p(j)+g;  % the probablity of part2 in the image
        g=omega1(th);
    end
    g=0;
    for j=th:maxi
        mu_1(th)=(j-1)*p(j)/omega1(th)+g;   % the average of gray level in the part2
        g=mu_1(th);
    end
    g=0;
end
%% the maximum of variance between part1 and part2
for th=min:maxi
    delta(th)=omega0(th)*(mu-mu_0(th))^2+omega1(th)*(mu-mu_1(th))^2;
end
%% 求方差最大值对应的阈值
max=delta(min);
level=min;
for th=min:maxi
    if max<delta(th)
       max=delta(th);
       level=th;
    end
end
% [~, level]=max(delta); % 求得最佳阈值
for i=1:m
    for j=1:n
        if imgr(i,j)>=level
            yz(i,j)=255;
        else
            yz(i,j)=0;
        end
    end
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-19 16:49 , Processed in 0.017850 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表