auto-binarize a fingerprint

Hi, I am a French student and i'm working on a minutia recognition project. My work is based on this application : http://www.mathworks.com/matlabcentral/fileexchange/16728-fingerprint-application It works with the joined picture but a problem comes with the binarization (if the pixel is a stria -> 0, else -> 1). Indeed, the limit between white and black is manually fixed to 160. I am looking for ideas to make it automatically. Maybe, find the average intensity of the stria... Can someone help me ?

回答 (3 件)

Sean de Wolski
Sean de Wolski 2011 年 3 月 30 日

0 投票

Perhaps use:
graythresh
to determine a suitable threshold.

3 件のコメント

Jean-Edouard Simonin
Jean-Edouard Simonin 2011 年 3 月 30 日
I didn't know this fonction. That's a good idea but it's not appropriate to fingerprints. The stria are to close and the result is not usable.
Thank you anyway
Sean de Wolski
Sean de Wolski 2011 年 3 月 30 日
How are the stria too close? graythresh uses a histogram so location doesn't matter. What class is your data?
Jean-Edouard Simonin
Jean-Edouard Simonin 2011 年 3 月 30 日
It's maybe beacause of the difference of intensity between stria and valley which is not too much strong...

サインインしてコメントする。

Jean-Edouard Simonin
Jean-Edouard Simonin 2011 年 4 月 3 日

0 投票

I have an idea but I don't know how to do it. If we draw a histogram of the picture, we can see two Gaussians. To determine the limit between white and black, I have to find the min between these two Gaussians. How could I do that ?

1 件のコメント

Sean de Wolski
Sean de Wolski 2011 年 4 月 4 日
It's called the minimum valley method.
Basically find the peaks; it's the bottom of the valley between the two peaks. You could use the histc function and some basic numerical derivatives to find it.

サインインしてコメントする。

質問済み:

2011 年 3 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by