资源简介

基于matlab的指纹识别技术研究,生物特征识别技术克服了许多传统身份认证方法的缺点,且识别正确率较 高,使用方便。由于人体指纹具有与生俱来、终身不变、唯一性、高防伪性和使 用便利等优点使得指纹识别技术成为应用最好的生物特征识别技术,已经逐步在 门禁、考勤、金融、公共安全和电子商务等领域得到应用。指纹识别是图像处理的一个热点问题

资源截图

代码片段和文件信息

function [OutputprintXofCenterYofCenter] = centralizing(fingerprintctrl)
%  modified by PRTsinghua@hotmail.com

imgN=size(fingerprint1);
imgM=size(fingerprint2);

image = wiener2(fingerprint[3 3]);
[GxGy] = gradient(image);
orientnum = wiener2(2.*Gx.*Gy[3 3]);
orientden = wiener2((Gx.^2) - (Gy.^2)[3 3]);
W = 8;
ll = 9;
orient = zeros(imgN/WimgM/W);
%-----------------------------------------------
points=(imgN/W)*(imgM/W);
for i = 1:1:points
    x = floor((i-1)/(imgM/W))*W+1;
    y = mod(i-1(imgN/W))*W+1;
    numblock = orientnum(y:y+W-1x:x+W-1);
    denblock = orientden(y:y+W-1x:x+W-1);
    
    somma_num=sum(sum(numblock));
    somma_denom=sum(sum(denblock));
    
    if somma_denom ~= 0
        inside = somma_num/somma_denom;
        angle = 0.5*atan(inside);
    else
        angle = pi/2;
    end
    % each block
    if angle < 0
        if somma_num < 0
            angle = angle + pi/2;
        else
            angle = angle + pi;
        end
    else
        if somma_num > 0
            angle = angle + pi/2;
        end
    end
    orient(1+(y-1)/W1+(x-1)/W) = angle;   
end

binarize = (orient < pi/2);
[bibj] = find(binarize);
xdir = zeros(WW);
ydir = zeros(WW);
for k = 1:1:size(bj1)
    i = bj(k);
    j = bi(k);
    if orient(ji) < pi/2
        x = fix(ll*cos(orient(ji)-pi/2)/(W/2));
        y = fix(ll*sin(orient(ji)-pi/2)/(W/2));
        xdir(ji) = i-x;
        ydir(ji) = j-y;
        
    end
end

binarize2 = zeros(imgN/WimgM/W);
for i = 1:1:size(bj1)
    x = bj(i);
    y = bi(i);
    if ~(xdir(yx) < 1 | ydir(yx) < 1 | xdir(yx) > imgM/W | ydir(yx) > imgN/W)
        while binarize(ydir(yx)xdir(yx)) > 0
            xtemp = xdir(yx);
            ytemp = ydir(yx);
            if xtemp < 1 | ytemp < 1 | xtemp > imgM/W | ytemp > imgN/W
                break;
            end
            x = xtemp;
            y = ytemp;
            if xdir(yx) < 1 | ydir(yx) < 1 | xdir(yx) > imgM/W | ydir(yx) > imgN/W
                if x-1 > 0
                    while binarize(yx-1) > 0
                        x = x-1;
                        if x-1 < 1
                            break;
                        end
                    end
                end
                break;
            end
        end
    end
    binarize2(yx) = binarize2(yx)+1;
end

[tempy] = max(binarize2(1:end-7:));
[temp2x] = max(temp);
angle = orient(y(x)x)-pi/2;
XofCenter=round(x*W-(W/2)-(ll/2)*cos(angle));
YofCenter=round(y(x)*W-(W/2)-(ll/2)*sin(angle));
Outputprint=binarize2;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      66614  2001-01-11 11:56  matlab sourcecode for 指纹\19_7.bmp

     文件     132118  2000-08-21 00:28  matlab sourcecode for 指纹\22443.bmp

     文件      66614  2001-01-11 11:56  matlab sourcecode for 指纹\37_3.bmp

     文件      66614  2001-01-11 11:56  matlab sourcecode for 指纹\37_5_2.bmp

     文件      66614  2001-01-11 11:56  matlab sourcecode for 指纹\37_7.bmp

     文件       2627  2004-03-05 03:41  matlab sourcecode for 指纹\centralizing.m

     文件       1489  2004-03-05 05:10  matlab sourcecode for 指纹\Cropping.m

     文件      28834  2004-03-08 02:35  matlab sourcecode for 指纹\fpextractdemo.m

     文件        578  2004-03-05 05:11  matlab sourcecode for 指纹\gabor2d_sub.m

     文件      65792  2004-03-08 02:22  matlab sourcecode for 指纹\informations.dat

     文件         81  2004-06-30 00:52  matlab sourcecode for 指纹\readme.txt

     文件       1717  2004-03-05 05:13  matlab sourcecode for 指纹\sector_norm.m

     文件        572  2004-03-05 05:12  matlab sourcecode for 指纹\vedicentro.m

     文件        929  2004-03-05 05:14  matlab sourcecode for 指纹\whichsector.m

    ...D..R         0  2005-04-12 14:44  matlab sourcecode for 指纹

----------- ---------  ---------- -----  ----

               501193                    15


评论

共有 条评论