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.

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

カテゴリ

ヘルプ センター および File ExchangeData Distribution Plots についてさらに検索

質問済み:

2011 年 3 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by