auto-binarize a fingerprint

1 次查看(过去 30 天)
Jean-Edouard Simonin
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 个)

Jean-Edouard Simonin
up

Sean de Wolski
Sean de Wolski 2011-3-30
Perhaps use:
graythresh
to determine a suitable threshold.
  3 个评论
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
It's maybe beacause of the difference of intensity between stria and valley which is not too much strong...

请先登录,再进行评论。


Jean-Edouard Simonin
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by