Direction on enhancing fingerprints
이전 댓글 표시
Hi, As my fyp i am developing a fingerprint recognition system which I had to develop over three months as i am doing an 1 year intesive software development course. I have the majority of the project completed as i have performed pre processing, minutiae extraction, false minutiae removal, minutiae orientation extraction, translation, rotation and matching. A sample run of the program can be seen below.

However, what is lacking in my project is image enhancement. At the moment my project only works correctly with high quality images and depending on the rotation, the results of thinning vary. Below is a high quality image followed by the same image rotated outside of matlab form comparison. Even though it is the same image the results are very different and bad in the second image. The second image is before false minutiae removal but even after removing most of these the results aren't great.


I have downloaded source code for fast fourier transform to determine if it would help this problem before i actually invested time in implementing it and the results were of no benefit. Histogram equalization also doesn't help. So basically my question is, what is the best way to go about enhancing these images so that i can get a consistently high quality image before minutiae extraction? I have studied various articles on the subject but with only three months experience in image processing and matlab they all go a bit over my head. As this project is only four months in duration i am not dealing with extremely bad images so any tips on enhancing them a bit would be great. My preprocessing code is below, the fillsmallholes method in the centre of the code is just to fill any tiny holes after thinning and i then thin the image again to remove the filled holes.
if true
d = im2bw(a,0.8);
preprocessed = bwmorph(~d,'thin','inf');
preprocessed = fillSmallHoles(preprocessed);
preprocessed = bwmorph(preprocessed,'thin','inf');
preprocessed = bwareaopen(preprocessed,5);
preprocessed = bwmorph(preprocessed,'spur',5);
end
below is an example of the quality of fingerprints i am getting from the scanner.

답변 (2개)
Image Analyst
2014년 3월 26일
0 개 추천
Certainly corrupted/degraded fingerprints can be a challenging problem. There have been companies working on this for years. In fact I interviewed at one for a job back in the '80s. There are papers on it that you can look up here: http://iris.usc.edu/Vision-Notes/bibliography/contentspeople.html#Face%20Recognition,%20Detection,%20Tracking,%20Gesture%20Recognition,%20Fingerprints,%20Biometrics in section 21.6. Of course they are complicated and I can't look them up and code them up for you but see if any sound interesting then order the papers through your school and try to program them up.
댓글 수: 2
Zebiba Nurbegen
2018년 8월 24일
편집: Image Analyst
2018년 8월 24일
My question similar to above, however I am try to use your link:
It does not work.
Image Analyst
2018년 8월 24일
It does work. I just tried it again. Click it again to try it.
카테고리
도움말 센터 및 File Exchange에서 Image Filtering and Enhancement에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!