资源简介

实现阈值图像分割,用全局阈值,OTSU和迭代法求阈值

资源截图

代码片段和文件信息

clc
I = rgb2gray(imread(‘lena.bmp‘));
[widthheight]=size(I);
%otsu
level = graythresh(I);
BW = im2bw(Ilevel);
figure; imshow(BW); title(‘使用最大类间方差法(Otsu)获得阈值‘);
%global
for i=1:width
    for j=1:height
        if(I(ij)<80)
            BW1(ij)=0;
        else
            BW1(ij)=1;
        end
    end
end
figure;imshow(BW1)
%迭代法
I=double(I);
T=(min(I(:))+max(I(:)))/2;
done=false;
i=0;
while ~done
    r1=find(I<=T);
    r2=find(I>=T);
    Tnew=(mean(I(r1))+mean(I(r2)))/2;
    done=abs(Tnew-T)<1;
    T=Tnew;
    i=i+1;
end
I(r1)=0;
I(r2)=1;
figure;imshow(I)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        615  2014-05-02 21:38  m82.m

     文件     786486  2012-04-09 19:55  lena.bmp

----------- ---------  ---------- -----  ----

               787101                    2


评论

共有 条评论