📄 getmax_htothrod.m
字号:
function y=GetMax_HtoThrod(M)
w1=imread(M); % M是输入的图像名称,读取名称是M的图像文件
im=imfinfo(M);%获得图像文件信息
w=im2double(w1);
Height=im.Height;
Width=im.Width;
p=zeros(1,256);
num=zeros(1,256);
for h=1:256%统计各个灰度级出现的次数;
n=0;
for i=1:Height
for j=1:Width
d=round(255*w(i,j));
if h==d+1
n=n+1;
end
end
end
p(1,h)=n;
end
for r=1:256%统计各个灰度级出现的概率;
p(1,r)=p(1,r)/(Width*Height);
end
for i=1:256%对每一个灰度级进行比较;
a1=0;
a2=0;
pt=0;
for j=1:i
pt=pt+p(1,j);
end
for j=1:i
if pt~=0 &&p(1,j)~=0
a1=a1-p(1,j)/pt*log(p(1,j)/pt);
end
end
for j=(i+1):256
if pt~=1 &&p(1,j)~=0
a2=a2-p(1,j)/(1-pt)*log(p(1,j)/(1-pt));
end
end
num(1,i)=a1+a2;
end
max=0;
for i=1:256%找到使类的熵最大的灰度级;
if(max<num(1,i))
max=num(1,i);
y=i;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -