FVS Fingerprint Verification System API Documentation

imagemanip.h File Reference

#include "img_base.h"
#include "floatfield.h"

Go to the source code of this file.

Functions

FvsError_t FingerprintGetDirection (const FvsImage_t image, FvsFloatField_t field, const FvsInt_t nBlockSize, const FvsInt_t nFilterSize)
FvsError_t FingerprintGetFrequency (const FvsImage_t image, const FvsFloatField_t direction, FvsFloatField_t frequency)
FvsError_t FingerprintGetMask (const FvsImage_t image, const FvsFloatField_t direction, const FvsFloatField_t frequency, FvsImage_t mask)
FvsError_t ImageThinConnectivity (FvsImage_t image)
FvsError_t ImageThinHitMiss (FvsImage_t image)
FvsError_t ImageLocalStretch (FvsImage_t image, const FvsInt_t size, const FvsInt_t tolerance)
FvsError_t ImageDilate (FvsImage_t image)
FvsError_t ImageErode (FvsImage_t image)
FvsError_t ImageEnhanceGabor (FvsImage_t image, const FvsFloatField_t direction, const FvsFloatField_t frequency, const FvsImage_t mask)


Function Documentation

FvsError_t FingerprintGetDirection const FvsImage_t    image,
FvsFloatField_t    field,
const FvsInt_t    nBlockSize,
const FvsInt_t    nFilterSize
 

Get a floating point field that contains the ridge direction of the fingerprint image. The algorithm used here is described in many scientific papers. The result is better if the image has a high contrast and is normalized. The values representing the direction vary between -PI/2 and PI/2 radians the ridge direction is not oriented. The higher the block size, the better is the analysis but it will take even longer to perform the computations. The low pass filter size allows to filter out errors as the ridge direction varies slowly in the fingerprint.

Parameters:
image Image to extract the ridge direction from
field Ridge directions (floating point values)
nBlockSize Size of the blocks into the image is divided into
nFilterSize Size of the low pass filter (set to 0 to deactivate)
Returns:
An error code.

FvsError_t FingerprintGetFrequency const FvsImage_t    image,
const FvsFloatField_t    direction,
FvsFloatField_t    frequency
 

Get a floating point field that contains the ridge frequency.

Parameters:
image Image to extract the ridge frequency direction from
direction Ridge directions (floating point values)
frequency Ridge frequency
Returns:
An error code.

FvsError_t FingerprintGetMask const FvsImage_t    image,
const FvsFloatField_t    direction,
const FvsFloatField_t    frequency,
FvsImage_t    mask
 

Get a mask that tells where are the parts of the fingerprint that contain useful information for further processing. The mask should be set to 0 where the information is not usable: on borders, background parts, where the fingerprint image is of very bad quality, ... The mask is set to 255 where the fingerprint data can be used.

Parameters:
image Image to extract the ridge frequency direction from
direction Ridge directions (floating point values)
frequency Ridge frequency
mask The output mask
Returns:
An error code.

FvsError_t ImageThinConnectivity FvsImage_t    image
 

Thin the image using connectivity information. The image must be binarized (i.e. contain only 0x00 or 0xFF values) This algorithm looks at the immediate neighbourhood of a pixel and checks how many transitions from black to white are present. According to the result, the pixel is removed or not.

Parameters:
image A binarized image to modify
Returns:
An error code.

FvsError_t ImageThinHitMiss FvsImage_t    image
 

Thin the image using "Hit and Miss" structuring elements. The image must be binarized (i.e. contain only 0x00 or 0xFF values) This algo has the disadvantage to produce spurious lines resulting from the skeletonization. These may be eliminated by another algorithm. postprocessing is then still needed afterwards.

Parameters:
image A binarized image to modify
Returns:
An error code.

FvsError_t ImageLocalStretch FvsImage_t    image,
const FvsInt_t    size,
const FvsInt_t    tolerance
 

Local contrast stretching operator.

Parameters:
image Image to stretch
size Size of the blocks onto which stretching should be applied
tolerance value used to eliminate the border of the local histogram
Returns:
An error code

FvsError_t ImageDilate FvsImage_t    image
 

Use a structural operator to dilate the binary image.

Parameters:
image image to dilate
Returns:
An error code

FvsError_t ImageErode FvsImage_t    image
 

Use a structural operator to erode the binary image.

Parameters:
image image to dilate
Returns:
An error code

FvsError_t ImageEnhanceGabor FvsImage_t    image,
const FvsFloatField_t    direction,
const FvsFloatField_t    frequency,
const FvsImage_t    mask
 

Enhance a fingerprint image. The algorithm used here is complex to describe but the postprocessing is based on Gabor filters whose parameters are computed dynamically. The image is change in-place so you will have to make a copy to preserve the original image.

Parameters:
image Image to modify
direction A ridge direction field previously computed with FingerprintGetDirection for example
frequency A ridge frequency field previously computed with FingerprintGetFrequency for example
mask Indicating which parts of the image are relevant
Returns:
An error code.


Generated on Sat May 31 20:07:30 2003 for FVS Fingerprint Verification System by doxygen 1.3-rc3 Jaap de Haan (BinaryMan)