![]() |
[求助]图像归一化的问题
2 个附件
最近开始做指纹图像的预处理,编了一个归一化的程序,但是处理后的效果很差,请各位看看
谢谢!!! 不知道什么归一化方法好? 附件中是我用的归一化公式 下面是整个程序 function DestJu = MyConsistent(SourJu,BloWide) %归一化函数 %将SourJu矩阵归一化到矩阵DestJu,BloWide子块大小 %求块灰度期望和方差 %m,n矩阵的长宽 [m,n]=size(SourJu); bloi=ceil(m/BloWide); %分块后,块纵坐标 bloj=ceil(n/BloWide); %块横坐标 extSourJu=SourJu; if ceil(m/BloWide)-m/BloWide~=0 || ceil(n/BloWide)-n/BloWide~=0 extSourJu(bloi*BloWide,bloj*BloWide)=0; %扩展矩阵,使得SourJu扩展后的长宽可以整除BloWide end %用blkproc内建函数 mi=blkproc(extSourJu,[BloWide BloWide],'mean2');%子块期望 vi=VarJu(extSourJu,BloWide);%子块方差 %求输入子块期望的期望m0和子块期望的方差var0 m0=mean2(mi); var0=VarJu(mi,1); DestJu=extSourJu;%初始化 %将extSourJu矩阵归一化到DestJu矩阵中,并输出DestJu for i=1:floor(bloi*BloWide) for j=1:floor(bloj*BloWide) if extSourJu(i,j)>=m0 DestJu(i,j)=m0+((var0*(extSourJu(i,j)-mi(ceil(i/BloWide),ceil(j/BloWide)))^2)/vi(ceil(i/BloWide),ceil(j/BloWide)))^0.5; else DestJu(i,j)=m0-((var0*(extSourJu(i,j)-mi(ceil(i/BloWide),ceil(j/BloWide)))^2)/vi(ceil(i/BloWide),ceil(j/BloWide)))^0.5; end end end end function v=VarJu(extSourJu,BloWide) %方差 %sourJu输入的矩阵,求方差的块大小 [m,n]=size(extSourJu); if BloWide>1 tJu=reshape(extSourJu(:,1:BloWide:end),BloWide,[]); for i=2:BloWide tJu=[tJu;reshape(extSourJu(:,i:BloWide:end),BloWide,[])]; end v=reshape(var(tJu),m/BloWide,[]); else v=var(reshape(extSourJu,m*n,[])); end end |
所有时间均为北京时间。现在的时间是 12:51。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.