Is there any way to identify the fingerprint contents in an image using matlab?

5 vues (au cours des 30 derniers jours)
If the image is mixed with fingerprints and certain characters, is there any way to pick up the fingerprints and leave the characters

Réponse acceptée

Cedric
Cedric le 16 Août 2015
Modifié(e) : Cedric le 16 Août 2015
Here is a lightweight approach that is absolutely not solid/stable; .. could be a starting point?
I = imread( 'fingerprint001.jpg' ) ;
bw = ~im2bw( I ) ;
% - Extract large blobs as mask.
mask = bwareafilt( bw, [400 Inf] ) ;
bw2 = bw & ~mask ;
% - Use bw2 as mask for I.
I2 = I ;
I2(~repmat(bw2,1,1,3)) = 0 ;
% - Display
figure() ;
set( gcf, 'Units', 'normalized', 'Position', [0.1, 0.1, 0.8, 0.8] ) ;
subplot( 2, 2, 1 ) ;
imshow( I ) ;
title( 'Original' ) ;
subplot( 2, 2, 2 ) ;
imshow( bw ) ;
title( 'BW' ) ;
subplot( 2, 2, 3 ) ;
imshow( mask ) ;
title( 'Mask' ) ;
subplot( 2, 2, 4 ) ;
imshow( bw2 ) ;
title( 'Mask''ed' ) ;
figure() ;
set( gcf, 'Units', 'normalized', 'Position', [0.1, 0.1, 0.8, 0.8] ) ;
imshow( I2 ) ;
==== FORMER =============================================================
I cropped bands, but it is counter productive.
% - Crop bands.
id = find( bw(:,1), 1 ) ;
bw = bw(id:end,:) ;
idl = find( ~bw(fix(end/2),:), 1 ) ;
idr = find( ~bw(fix(end/2),:), 1, 'last' ) ;
bw = bw(:, idl:idr) ;
  22 commentaires
Cedric
Cedric le 21 Août 2015
Modifié(e) : Cedric le 22 Août 2015
Ok, then you can reduce the complexity of the question by stating that:
  • The fingerprint does not need to be detected algorithmically. By this I mean that if there are only 30 images, you can pre-process them all by hand and keep only the area with the fingerprint.
  • The algorithm for enhancing remaining areas does not need to define how successful it is if the final analysis is performed visually. You can check out the result visually and determine if it is good or not, and refine parameters.
If these two statements are correct, the question becomes simpler, because there is no need for algorithms that detect region(s) of interest, that evaluate what operations to perform in these regions, to evaluate how successful these operations were.
MATLAB may not be the best solution though; have you tried asking on a Photoshop or a Gimp forum? I am mentioning these two because you may realize that each image needs a specific treatment, and there may be no way to find one type of processing that enhance all of them. In such case, you will have to process them individually anyway.
Finally what is the purpose? Enhancing means enhancing for a given purpose. To illustrate, if you need to detect specific features with an algorithm, enhancing may mean increasing the contrast. Doing this, you loose details, but you make macroscopic features stand out. Now if the purpose is to analyze the outcome visually, then you may prefer keeping the details.
D Joseph
D Joseph le 29 Août 2015
Purpose is to extract minutiae

Connectez-vous pour commenter.

Plus de réponses (2)

Walter Roberson
Walter Roberson le 15 Août 2015
Use an OCR (Optical Character Recognition) routine to locate the characters. Then you can remove them, or remove everything except them, depending upon your needs.
The OCR step is needed because there is a lot of variety in what characters can look like, and the way you have defined the process it is necessary to only locate some kinds of characters but not other kinds. (The general problem of locating all kinds of characters is not solvable, as any given mark could be a character in some language.
  7 commentaires
D Joseph
D Joseph le 21 Août 2015
What is this infrared?
Walter Roberson
Walter Roberson le 29 Août 2015
https://en.wikipedia.org/wiki/Infrared
Infrared (IR) is invisible radiant energy, electromagnetic radiation with longer wavelengths than those of visible light, extending from the nominal red edge of the visible spectrum at 700 nanometers (frequency 430 THz) to 1 mm (300 GHz) (although people can see infrared up to at least 1050 nm in experiments). Most of the thermal radiation emitted by objects near room temperature is infrared.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 17 Août 2015
I don't see why "cartoons" are needed in forensics. Anyway, there is no built-in fingerprint code. You're going to need some sophisticated algorithm way beyond what anyone here knows, especially for such bad fingerprint images as you showed here. Please go to VisionBib and find an algorithm there then code it up. Of course you must realize it won't be simple or short if it's smart enough to handle such poor quality images. And even the best algorithm out there might not work so great with your highly degraded images.
  2 commentaires
D Joseph
D Joseph le 17 Août 2015
Modifié(e) : D Joseph le 17 Août 2015
Thanks@Analyst. But I couldn't find any algorithm in VisionBib
D Joseph
D Joseph le 17 Août 2015
Cartoons are not needed.Its just to display as noises. I want the fingerprint texture components.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Language Support dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by