File Exchange

image thumbnail

Finger region localisation

version 1.4 (86.9 KB) by

Localisation of the finger region using a simple mask filter method.



View License

Filtering the image using a simple mask will give a large response at the transition from background to finger. These large responses are located and used as detected finger edge. The function will return the location of these edges and will return a binary mask indicating the finger region.
Note that the implementation assumes that the upper edge is located in the top-half of the image and that the bottom edge is located in the lower-half of the image.

- "Finger vein recognition using minutia-based alignment and local binary
pattern-based feature extraction" E.C. Lee, H.C. Lee and K.R. Park
International Journal of Imaging Systems and Technology
Volume 19, Issue 3, September 2009, Pages 175-178
doi: 10.1002/ima.20193

Please leave a comment, if you like it, find a bug, or know (made) good improvements to the code.

Comments and Ratings (8)

fei peng

Hi Brom,
May I ask for the dataset that you use in this code ?

Liona Soleman

Liona Soleman

Dear Mr.Bram Ton, I'm very interested in your research about fingervein recognation, and I'm also doing the same research like you. That I want to ask, do you have other images or database sets for sample testing in this research? if you have, may I have your data for sample testing my research? I'm very grateful if you can respond my message. Thanks before.
Deep best regards,

ismot ara


abdul (view profile)

which filter you use please explain it. I m very thankful to you

Bram Ton

Bram Ton (view profile)

@Ramana, I have added a demo image and a script to show how to use the function.

@Alan, This is probably caused by the fact that you are using an old version of Matlab. Try replacing the tilde(~) with a dummy variable.

Alan TS

I got this error msg. Could you please assist/

??? Error: File: lee_region.m Line: 46 Column: 3
Expression or statement is incorrect--possibly unbalanced (, {, or [.

It seems that matlab unable to process the following line of code:

[~, y_up] = max(img_filt_up);

Venkat R

Hi Brom,
Seeing the result thumbnail,I am interested to use it. Can you add a demo image and file to obtain the edges.




Added a sample image and a script on how to use the 'lee_region()' function.

MATLAB Release
MATLAB 7.13 (R2011b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today