资源简介

最大类间方差阈值matlab程序 子函数 可直接用 参数可调

资源截图

代码片段和文件信息

function image_2=otsu(image_1)  
%image_1=imread(‘d:\1.jpg‘); %读入图片 
image_1=rgb2gray(image_1);%灰度化 
 
[mn]=size(image_1);%计算图片的像素点个数行列n是列数,Gray 
 
num=zeros(1256);%存放各灰度级出现的次数 
 
p=zeros(1256);%存放各灰度级的比率 
 
image_1=double(image_1);%双精度化 

for i=1:m 
        for j=1:n 
            num(image_1(ij)+1)=num(image_1(ij)+1)+1;%统计各灰度级的像素点个数 
        end 
    end 
 
    for i=1:256 
        p(i)=num(i)/(m*n);%计算各灰度级出现的比率 
    end 
 
for i=2:256 
        if p(i)~=0 
            st=i+1;%实现寻找出现比率不为0的最小灰度值 
            break 
        end 
end 
 
for i=256:-1:1 
        if p(i)~=0; 
            nd=i-1;%实现找出出现比率不为0的最大灰度值 
            break 
        end 
end 
 
%以下程序实现利用最小方差和法找出门阈值 
w=inf; th=0; 
 
for t=st:nd%最小非零比率灰度值到最大非零比率灰

评论

共有 条评论