hzlhm 发表于 2011-6-19 12:36

请各位大师帮我解释几段程序命令含义

请各位大师帮我解释几段程序命令含义,在此先感谢了喽。
I=imread('Empreinte.bmp');
subplot(221);
imshow(I);看图片
set(gcf,'position',);
J=I(:,:,1)>160;
subplot(222);imshow(J)
set(gcf,'position',)
K=bwmorph(~J,'thin','inf'); BWMORPH Perform morphological operations on binary image.
subplot(223);imshow(~K)
set(gcf,'position',);
L = nlfilter(K,,fun); NLFILTER Perform general sliding-neighborhood operations.
------------------------------------------------
D=6;
%% Process 1
Distance=DistEuclidian(CentroidBif,CentroidTerm);
SpuriousMinutae=Distance<D;
=find(SpuriousMinutae);
CentroidBif(i,:)=[];
CentroidTerm(j,:)=[];
%% Process 2
Distance=DistEuclidian(CentroidBif);
SpuriousMinutae=Distance<D;
=find(SpuriousMinutae);
CentroidBif(i,:)=[];
%% Process 3
Distance=DistEuclidian(CentroidTerm);
SpuriousMinutae=Distance<D;
=find(SpuriousMinutae);
CentroidTerm(i,:)=[];
=size(I(:,:,1));
indTerm=sub2ind(,CentroidTerm(:,1),CentroidTerm(:,2));
Z=zeros(m,n);
Z(indTerm)=1;
ZTerm=Z.*ROI';
=find(ZTerm);

indBif=sub2ind(,CentroidBif(:,1),CentroidBif(:,2));
Z=zeros(m,n);
Z(indBif)=1;
ZBif=Z.*ROI';
=find(ZBif);

figure
imshow(I)
set(gcf,'position',);
hold on
plot(CentroidTermX,CentroidTermY,'ro','linewidth',2)
plot(CentroidBifX,CentroidBifY,'go','linewidth',2)

hold on
plot(CentroidTermX,CentroidTermY,'ro','linewidth',2)
plot(',...
    ','r','linewidth',2)
-------------------------------------------------------------------
function D=DistEuclidian(dataset1,dataset2)
h = waitbar(0,'Distance Computation');
switch nargin
    case 1
        =size(dataset1);
        m2=m1;
        D=zeros(m1,m2);
        for i=1:m1
            waitbar(i/m1)
            for j=1:m2
                if i==j
                    D(i,j)=NaN;
                else
                    D(i,j)=sqrt((dataset1(i,1)-dataset1(j,1))^2+(dataset1(i,2)-dataset1(j,2))^2);
                end
            end
        end
    case 2
        =size(dataset1);
        =size(dataset2);
        D=zeros(m1,m2);
        for i=1:m1
            waitbar(i/m1)
            for j=1:m2
                D(i,j)=sqrt((dataset1(i,1)-dataset2(j,1))^2+(dataset1(i,2)-dataset2(j,2))^2);
            end
        end
    otherwise
        error('only one or two input arguments')
end

close(h)
  
-----------------------------------------------------
I=imread('Empreinte.bmp');
subplot(421);
imshow(I);
set(gcf,'position',);
J=I(:,:,1)>160;
subplot(322);imshow(J)
set(gcf,'position',)
K=bwmorph(~J,'thin','inf');
subplot(323);imshow(~K)
set(gcf,'position',);
fun=@minutie;
L = nlfilter(K,,fun);
%LTerm=(L==1);
%subplot(324);
%imshow(LTerm);
LTermLab=bwlabel(J);
subplot(324);
imshow(LTermLab)
页: [1]
查看完整版本: 请各位大师帮我解释几段程序命令含义