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

📄 ch7_1_1.m

📁 Matlab7.x图像处理的光盘内容 人民邮电出版社的最新
💻 M
字号:
%%%  下面是最大方差法计算灰度分割门限的代码:(代码以子函数形式给出)
function th = thresh_md(a);
%  该函数实现最大方差法计算分割门限
%  输入参数为灰度图像,输出为灰度分割门限
count = imhist(a);
%  返回图像矩阵a各个灰度等级像素个数
[m,n] = size(a);
N = m*n - sum(sum(find(a==0),1));
L = 256;
%  计算出现概率不为0的最小灰度
for i=2:L
if count(i)~=0
st = i-1
break
end
end
%  计算出现概率不为0的最大灰度
for i=L:-1:1
if count(i)~=0
nd = i-1
break
end
end
f = count(st+1:nd+1);
%  p和q分别为灰度起始和结束值
p = st;
q = nd-st;
% 计算图像的平均灰度
u = 0;
for i=1:q
u=u+f(i)*(p+i-1);
ua(i)=u;
end
% 计算出选择不同k值时,A区域的概率
for i=1:q
w(i)=sum(f(1:i));
end
% 求出不同k值时类间的方差
d = (u*w-ua).^2./(w.*(1-w));
% 求出最大方差对应的灰度级
[y,tp] = max(d);
th = tp+p;

⌨️ 快捷键说明

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