📄 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 + -