This method will try to extract the centre lines of the veins. This is done by calculating local maximum curvatures in cross-sectional profiles of a vein image. The method is supposed to be robust against varying vein widths and non-uniform brightness.
Repeated line tracking:
This algorithm will start at several random points and will try to track a line. If a pixel has been visited by the line tracking algorithm multiple times it is likely to be a vein. A movie showing the algorithm in action can be found here:
- N. Miura, A. Nagasaka, and T. Miyatake "Feature extraction of finger vein patterns based on repeated line tracking and its application to personal identification" Machine Vision and Applications.
- N. Miura, A. Nagasaka, and T. Miyatake "Extraction of finger-vein patterns using maximum curvature points in image profiles." IAPR conference on machine vision applications 9 (2005).
The file "miura_usage.m" gives an impression of how to use the feature extraction methods. Finger region localisation can be found here:
The Biometrics Security and Privacy Group at Idiap, in Switzerland have created a Python implementation of the Miura repeated line tracker and other vein biometric algorithms. See https://www.idiap.ch/software/bob/docs/bob/bob.bio.vein/stable/index.html# for details.
Please leave a comment, if you like it, find a bug, or know (made) good improvements to the code.
Bram Ton (2024). Miura et al. vein extraction methods (https://www.mathworks.com/matlabcentral/fileexchange/35716-miura-et-al-vein-extraction-methods), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Added a reference to the Python implementation.
Updated the 'miura_usage.m' script to make it foolproof.
Added link to finger region localization.