Lifting a fingerprint present as a stain in or on fabric
Stuart Smith
Abstract
This paper describes a proposed method for lifting fingerprints from fabric surfaces when the fingerprints cannot be lifted by mechanical means or when chemical methods are not available or are inadvisable. This would be the case, for example, when the fingerprint is a stain—such as blood or ink—in or on the fabric. The method described here uses a very simple analysis technique applied to a binary image (i.e., black and white only) of the fingerprint. Neither sophisticated image processing techniquesnor special equipment, such as an alternate light source, is required. Software to perform the procedure is available from
.
The problem
Figure 1 is an example of the type of problem the method described here is designed to solve. A fingerprint is clearly visible on the textured surface of a fabric; however, because the features of the fingerprint interact with the texture pattern, an unambiguous print cannot be obtained with ordinary methods.
Figure 1. Fingerprint stain on fabric
The solution method
The solution proposed here has three steps:
- Obtain a high-resolution black and white digital image of the print and its surroundings.
- Calculate the best estimate of the fabric texture pattern of the image.
- Subtract the estimated fabric pattern from the original image.
Steps 2 and 3 are carried out automatically by the functiontestall,which is included in the workspace.
Step 2 relies on the fact that the weave pattern of the fabric is periodic, that is, it consists of a basic block, or“tile,” repeatedover and over. If the weave is sufficiently uniform, the tile can be readily extracted and an estimated image of just the fabric can be constructed by composing the proper number of tiles. It is then a simple matter to subtract the fabric pattern from the original fingerprint image, leaving just the fingerprint; however,in any realistic case the solution image would not be a perfect rendering of the fingerprint alone. Instead, the solution would typically look more like figure 2.
Figure 2. Fingerprint lifted from fabric surface
Figure 2 is somewhat dirty because the estimated fabric pattern does not coincide exactly with the fabric pattern in the original image. The result is that there is a certain amount of residual “salt-and-pepper” noise in the solution image. There are techniques for reducing such noise, but these will not be discussed here since they can reduce noise without necessarily improving the rendering of the fingerprint.
Making the example
The example case represented by Figures 1 through 4 was generated by computer and is thus an idealization. In fairness, then, it will be shown here how the figures were created.
Figure 5 is the principal component of the simulated fabric. This figure is a 228x228-pixel binary image, which was built from a 6x6-pixel tile of the basket-weave pattern. The whole figure is a 38x38 tiling.
Figure 5. Idealized fabric background.
To make the appearance of the fabric more realistic, random noise (figure 6) was added to the image in figure 5. This caused random black/white reversals of about 12% of the pixels. The result is shown in figure 7.
Figure 6. Noise to be added to figure 5 Figure 7. Final fabric background
The final element to be added to the example was the fingerprint itself (figure 8).
Figure 8. Actual fingerprint
Source image requirements
The source image must be made very carefully. The camera must be perpendicular to the surface being photographed and the lighting of the surface must be as nearly uniform as possible. In addition, for the current software to work properly, it is necessary that the source image satisfy two conditions: (1) it must contain a whole number of repetitions of the tile in both the horizontal and vertical directions, and (2) outside of the fingerprint proper there must be at least two complete, contiguous repetitions of the tile in both the horizontal and vertical directions (in the present example this would mean that somewhere in the image there must be two contiguous 12 x 12-pixel blocks of fabric that contain no part of the fingerprint.) In most realistic situations, both conditions can be met easily.
Using the software
Dyalog APL version 16 must be installed on the computer to be used. A free download for non-commercial use is available from Dyalog.com.
- Download
- Download fingerprint image(s) in .bmp format.
- Launch Dyalog.
- Set the value of the mypath function to the folder where the images are stored.
- Read in an image:
img←readbmp ’imagefilename‘
- Do the following to lift the print:
res←testall img
- To view a solution, enter
disp res