otsu_threshold.m
来自「这是本人下载和编译过的关于大津法二值化的matlab代码」· M 代码 · 共 23 行
M
23 行
%--------------------------------------------------------------------------
%get the threshold t of binary image
%otsu_threshold
%implements otsu's thresholding method
%--------------------------------------------------------------------------
function t = otsu_threshold(img)
%obtain probability
[ht,wt] = size(img);
[p,x] = imhist(img,256);
p = p/(ht*wt);
w = zeros(1,256);
m = zeros(1,256);
w(1) = p(1);
m(1) = p(1);
for i = 2 : 256
w(i) = w(i-1) + p(i);
m(i) = i*p(i) + m(i-1);
end
mt = m(end);
w = w+eps;
sigma_b = ((mt*w-m).^2)./(w.*(1-w));
t = find(sigma_b == max(sigma_b));
t = x(t(1));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?