⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 otsu.m

📁 这是matlab的otsu处理图象的算法
💻 M
字号:
clear all;
a=imread('Fig2.22(a).jpg');
[n,m]=size(a);
subplot(1,2,1);
imshow(a);title('ԭͼ');
a=double(a);
b=zeros(1,256);
c=zeros(1,256);
e=0;
for k=0:255
    for i=1:n
        for j=1:m
            if(a(i,j)==k)
                b(k+1)=b(k+1)+1;
            end
        end
    end
    b(k+1)=b(k+1)/(n*m);
end
for k=0:255
        e=e+k*b(k+1);   
end
for t=0:255
    w0=0;w1=0;e1=0;e2=0;
    for k=0:t
        w0=w0+b(k+1);
        e1=e1+k*b(k+1);
    end
    w1=1-w0;
    for k=0:t
        e2=e2+(k-e1)^2*b(k+1);
    end
    if(e2~=0&w0~=0&w1~=0)
        c(t+1)=(e1*(e-e1))^2/w0/w1/e2;
    end
end
p=c(1);t=0;
for k=1:256
    if(c(k)>p)
        p=c(k);t=k-1;
    end
end
for i=1:n
    for j=1:m
        if(a(i,j)<=t)
            a(i,j)=0;
        else a(i,j)=255;
        end
    end
end
subplot(1,2,2);
imshow(a);
title('otus');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -