Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Fingerprint Recognition project

Status
Not open for further replies.

koosdoos

Member level 2
Member level 2
Joined
Jun 8, 2006
Messages
49
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
1,614
fingerprint recognition project

Hi guys ,

Ive started a project using MatLab for fingerprint recognition .
I have stumbled onto a problem with finding the center of the fingerprint , ie. the core of the fingerprint .

Currently im using poincare to solve it , but its incorect . Due to that if i use the exact same fingerpint at a slightly different angle the coordinates im getting is way off.

Does anyone have a good writeup on poincare and maybe the code to solve it in matlab ?

Thanks for your time .

Regards
KoosDoos
 

project on fingerprint recognition

a source code for poincare finger print extraction is availble in EDA board , it is in matlab
 
projects on fingerprint recognition system

Hi Konarkk ,

Ive seen this code , but it is not very explanatory .
Ive dont know how to implement it , any ideas ?

Thanks
 

project fingerprint recognition

Cut paste the code here in the message If someone can see it then it will be of
more help to you.

Regards

Robin
 

projects for fingerprint recognition

Here it goes , the code for Poinare as posted by Leekk8 ( Thanks Leekk8) :

Code:
function [ output_args ] = poincare-leek( input_args )
[row col]=size(Orient);  %Orient is the directional field after averaged

for X=2:1:row-Poin_Block_Size-2
    for Y=2:1:col-Poin_Block_Size-2
        Counter = 0;
        for i=1:1:Poin_Block_Size - 1
            Counter = Counter + 1;
            P(1,Counter) = Orient(Poin_Block_Size + X - 2 - i,Y - 1)...
                - Orient(Poin_Block_Size + X - 1 - i,Y - 1);
        end
        for i=1:1:Poin_Block_Size - 1
            Counter = Counter + 1;
            P(1,Counter)=Orient(X - 1,Poin_Block_Size + Y - 1 - i)...
                - Orient(X - 1,Poin_Block_Size + Y - 2 - i);
        end
        for i=1:1:Poin_Block_Size - 1
            Counter = Counter + 1;
            P(1,Counter)=Orient(Poin_Block_Size + X - 1 - i,Poin_Block_Size + Y - 2)...
                - Orient(Poin_Block_Size + X - 2 - i,Poin_Block_Size + Y - 2);    
        end
        for i=1:1:Poin_Block_Size - 1
            Counter = Counter + 1;
            P(1,Counter)=Orient(Poin_Block_Size + X - 2,Poin_Block_Size + Y - 2 - i)...
                - Orient(Poin_Block_Size + X - 2,Poin_Block_Size + Y - 1 - i);
        end
        
        for counter=1:4*Poin_Block_Size-4
            if (abs(P(1,counter))<pi/2)
                P(1,counter)=P(1,counter);
            else
                if (P(1,counter)<=-pi/2)
                    P(1,counter)=pi+P(1,counter);
                else
                    P(1,counter)=pi-P(1,counter);
                end
            end
        end
        Poin(X,Y)=sum(sum(P));
    end
end


[rowPoin colPoin]=size(Poin);

for x=1:1:rowPoin
    for y=1:1:colPoin
        core=Poin(x,y);
        if (core==pi)
            x_part=(x-(size(Orient,1)*0.6))^2;
            y_part=(y-(size(Orient,2)*0.5))^2;
            distance=sqrt(x_part+y_part);
            corePoint=1;
        else
            distance=100;
        end
        Final(x,y)=distance;
    end
end

if (corePoint==1)
    min_distance=min(min(Final));
    for x=1:1:rowPoin
        for y=1:1:colPoin
            Poin_distance=Final(x,y);
            if (Poin_distance==min_distance)
                x_core1=x;
                y_core1=y;
            end
        end
    end
    x_core=(x_core1*Average_Block_Size)+1;
    x_core=fix(x_core+((Average_Block_Size+1)/2));
    y_core=(y_core1*Average_Block_Size)+1;
    y_core=fix(y_core+((Average_Block_Size+1)/2));

So what does line 2 of the code mean , and can i get the 'Orient' .

Regards

koosDoos
 

fingerprint recognition project

I dont think this is the actual complete code...
size is used to return rows and cols of a 2d matrix usually an image in this case....
I think orient is the actual image used for fingerprint ...

Regards

Robin
 

fingerprint recognizer counter project

Yes, this is not the actual complete code. This is the code I discussed with meka last time, where this is the part of poincare index only.

koosdoos, for the code to compute orientation field, please refer to: h**p://www.csse.uwa.edu.au/~pk/Research/MatlabFns/

There is a code for that. I just reply your PM.

I understand you can't get the actual core point coordinate in every image, cause rotation and translation may alter the result. This depends on your matching or recognition algorithm. In my case, I use neural network, so I need not to get exactly same coordinate of core point. I just need to locate the area near core point, then my neural network can recognize it.
 

fingerprint recognition be project

hi every one
my problem is that i have aproject of finger prints recognetion using matlab


and i cant found the code of gabor filter to filterring the image


if any body can help me of this code

please tell me quickly

plz,plz,plz


from sema
 

project on finger print recognition

Sema,

Try to search for some old threads here. I remember there are some topics about gabor filtering. You might be able to find some code there...
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top