How to extract the vein pattern from an IR image of finger?

I am trying to isolate (or segment to be precise) the vein pattern from Infra red image of a finger (using MATLAB) like shown below:
So my output will be a binary image like (not the exact dimension of image shown):
I tried histogram equalization to make the veins more visible, but even then the binirization was not that successful. Any help to proceed further would be very helpful.

1 Comment

Hy, I'm Arfan. Student of Sriwijaya University. Working on my final project. I've searched for the best database on internet but couldn't find one. I need to try your database if you can share it tome then I'll feel grateful. Can you share the database? Thanks

Sign in to comment.

Answers (2)

This is not a MATLAB-enough question. It's an algorithm development question. I'm sure someone has done this before. See sections 20 and 21 here Vision Bibliography to find successful algorithms that people have published. Come back and attach your MATLAB code if you have any questions after you've read the FAQ.

4 Comments

OK. Sorry for the question. I am aware that it is not a MATLAB specific question. But Still thought would get some help like your Bibliography link.
No, you can leave it. I often refer people to that list. It has nearly all image processing articles ever published so it's a good resource to point people to. You can try adapthisteq() to see what you can do with that.
Thanks. Let me try those and adapthisteq().

Sign in to comment.

You are going to have a heck of a time trying to segment out that image automatically. You will either have to include a great deal of background and work to exclude it on subsequent passes, or sacrifice the signal from the outset and work to include it as you go along. One thing that stands out is that the folds on the joints are going to be a source of false signals, so you may want to build a mask that creates an outline of the digit to exclude haze on the edges as well as one that includes those folds. Then you may want to invert the image because it appears the area of interest is dark. Afterward go through a series of equalization steps to find an acceptable starting point. I think you are gong to need to manually touch up the results to get the separation and definition you want.

Asked:

on 29 Apr 2014

Commented:

on 25 Dec 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!