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

📄 getmax_htothrod.m

📁 虹膜识别最大熵值法的图像二值化,这有助于对图像二值化时选择门限
💻 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 + -