
While providing various advantages, biometrics are also subject to security threats. Authentication schemes based on knowledge and tokens, although widely used, lead to most security breaches. A secure authentication and authorization strategy is a must for many of today’s applications. The experimental study of the model reveals its efficacy and practicality for fingerprint bit minimization, storage efficiency, and improved performance for any fingerprint-based application.īecause of the continued use of mobile, cloud and the internet of things, the possibility of data breaches is on the increase. While the ridge map extraction module uses consistency level and locality orientation fields to extract the ridge map from the contrast enhanced image, the ridge filtering module uses Gaussian filter to cancel out all striking noise and contaminations. The ridge contrast enhancement module uses block processing technique to establish equal ridge grey-level variations for the attenuated image. The attenuation module uses grey value variance thresholding to suppress the noisy non-ridge and valley regions. The model comprises of modules for fingerprint image noise attenuation, ridge contrast enhancement, map extraction, and filtering. _color(DispImg, (rr, cc), (0, 0, 255)) ĭef extract_minutiae_features(img, showResult=False):įeature_extractor = FingerprintFeatureExtractor()įeaturesTerm, FeaturesBif = feature_extractor.This paper presents a model for the optimal reduction of the bit size of a fingerprint towards plummeting its storage requirement and raising the performance index of fingerprint-based applications. TermLabel = (self.minutiaeTerm, connectivity=2) ĭispImg = np.zeros((rows, cols, 3), np.uint8) Hence the window selected is 1Īngle = self._computeAngle(block, 'Bifurcation')įeaturesBif.append(MinutiaeFeature(row, col, angle, 'Bifurcation'))įeaturesTerm, FeaturesBif = self._performFeatureExtraction()īifLabel = (self.minutiaeBif, connectivity=2) WindowSize = 1 # -> For Bifurcation, the block size must be 3x3. Self.minutiaeBif = (self.minutiaeBif, connectivity=2) (row, col) = np.int16(np.round(i))īlock = self._skelĪngle = self._computeAngle(block, 'Termination')įeaturesTerm.append(MinutiaeFeature(row, col, angle, 'Termination')) If(dist For Termination, the block size must can be 3x3, or 5x5. Self.minutiaeTerm = np.uint8(self._mask) * self.minutiaeTermĭef _removeSpuriousMinutiae(self, minutiaeList, img, thresh): Self._mask = erosion(self._mask, square(5)) # Structuing element for mask erosion = square(5) Self._mask = convex_hull_image(self._mask > 0) Self.minutiaeBif = np.zeros(self._skel.shape) īlock = self._skel Self.minutiaeTerm = np.zeros(self._skel.shape) If ((i = 0 or i = blkRows - 1 or j = 0 or j = blkCols - 1) and block != 0):Īngle.append(grees(math.atan2(i - CenterY, j - CenterX)))Įlif (minutiaeType.lower() = 'bifurcation'): If (minutiaeType.lower() = 'termination'): Self._skel = (img)ĭef _computeAngle(self, block, minutiaeType):ĬenterX, CenterY = (blkRows - 1) / 2, (blkCols - 1) / 2

This is what is inside the fingerprint-feature-extractor library: import cv2įrom skimage.morphology import convex_hull_image, erosionĭef _init_(self, locX, locY, Orientation, Type):Ĭlass FingerprintFeatureExtractor(object):
Bifurcation fingerprint how to#
I tried reading the classes in the library and I figure I could get those values (features locations, orientations, and type is explicitly stated in the library), but i do not know how to extract those values. Minutiaes bifurcations (marked with 1 in the last column) and terminations (marked with 0 in the last column) values extracted from fingerprint What I needed is values that looks like this where first and second column indicates xy coordinates, third column indicates orientations, and fourth column indicate type: I tried using print() command to see what's inside FeaturesBifurcations and I can't understand what the output means.
Bifurcation fingerprint code#
I used this code that's included in the github link to get features bifurcations and terminations: import fingerprint_feature_extractorįeaturesTerminations, FeaturesBifurcations = fingerprint_feature_extractor.extract_minutiae_features(img, showResult=True, spuriousMinutiaeThresh=10) The problem is I need to extract terminations and bifurcations value from the library.

I recently tried the new fingerprint feature extractor library by Utkarsh-Deshmukh ( ) and it works like wonder.
