path = '/home/zhangzimou/Desktop/code_lnk/database/FVC2002/DB1_B' size, = np.shape(os.listdir(path)) filename = [1]*size #ten different fingerprints. eight images for same fingerprint count = 0 for file in os.listdir(path): filename[count] = file count += 1 #search all filenames for same images and acheive correct probability matchedPoints_max = np.zeros([size,1]) score = np.zeros([size,1]) correct = 0 wrong = 0 i = 0 img1 = cv2.imread(path+'/'+filename[i],0) imgE1,imgfore1=enhance(img1) imgB1=basic.binarize(imgE1) imgT1=pre.thinning(imgB1) for j in range(size): print "Image %d & Image %d" % (i,j) #input img2 = cv2.imread(path+'/'+filename[j],0) #decide if they same fingerprints due to index of files if i/8 == j/8: print "They are from same fingerprint" else: print "They are from different fingerprint" #preprocess for images imgE2,imgfore2=enhance(img2) imgB2=basic.binarize(imgE2)
Created on Mon Nov 28 20:52:15 2016 @author: zhangzimou """ import cv2 import numpy as np from matplotlib import pyplot as plt from matplotlib.patches import Rectangle from scipy.signal import convolve2d import time import sys sys.path.append("..") from basic import imshow import basic from preprocess import enhance import preprocess as pre from minutiaeExtract import minutiaeExtract from basic import block_view FVC0 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2000/' FVC2 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2002/' FVC4 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2004/' path = FVC4 + 'DB1_B/' imgB = basic.binarize(image) imgT = pre.thinning(imgB) plt.figure() plt.imshow(imgB, cmap='gray') plt.figure() plt.imshow(imgT, cmap='gray')
from minutiaeExtract import minutiaeExtract from basic import block_view FVC0 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2000/' FVC2 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2002/' FVC4 = '/home/zhangzimou/Desktop/code_lnk/database/FVC2004/' path = FVC4 + 'DB4_B/' blockSize = 8 img = cv2.imread(path + '102_1.tif', 0) img_seg, imgfore = pre.segmentation(img) img_en = enhance(img) imgB = basic.binarize(img_en) imgT = pre.thinning(imgB) plt.figure() imshow(img_seg) plt.figure() plt.imshow(imgB, cmap='gray') plt.figure() plt.imshow(imgT, cmap='gray') ending, bifur, theta1, theta2 = minutiaeExtract(imgT, imgfore) plt.plot(ending.T[1], ending.T[0], 'b.', bifur.T[1], bifur.T[0], 'r.') plt.quiver(ending.T[1], ending.T[0], np.cos(theta1), np.sin(-theta1),
FVC0='/home/zhangzimou/Desktop/code_lnk/database/FVC2000/' FVC2='/home/zhangzimou/Desktop/code_lnk/database/FVC2002/' FVC4='/home/zhangzimou/Desktop/code_lnk/database/FVC2004/' path=FVC2+'DB1_B/' blockSize=8 img=cv2.imread(path+'108_3.tif',0) imgE,imgfore=enhance(img) imgB=basic.binarize(imgE) imgT=pre.thinning(imgB) #plt.figure() #imshow(img) plt.figure() plt.imshow(imgE,cmap='gray') plt.figure() plt.imshow(imgT,cmap='gray') ending,bifur,theta1,theta2=minutiaeExtract(imgT,imgfore) plt.plot(ending.T[1],ending.T[0],'b.',bifur.T[1],bifur.T[0],'r.') plt.quiver(ending.T[1],ending.T[0],np.cos(theta1),np.sin(-theta1),color='b',width=0.003) plt.quiver(bifur.T[1],bifur.T[0],np.cos(theta2),np.sin(-theta2),color='r',width=0.003)
import basic from preprocess import enhance import preprocess as pre from minutiaeExtract import minutiaeExtract start = time.clock() img_origin = cv2.imread('../pic4.tif', 0) img_origin, imgfore = pre.segmentation(img_origin) blockSize = 16 theta = pre.calcDirection(img_origin, blockSize) wl = pre.calcWl(img_origin, blockSize) #img=ridgeComp2(img,theta,blockSize) img_enhance = pre.GaborFilter(img_origin, blockSize, wl, np.pi / 2 - theta) img_enhance[np.where(imgfore == 255)] = 255 img_thin = pre.thinning(basic.binarize(img_enhance)) ending, bifur, theta1, theta2 = minutiaeExtract(img_thin, imgfore) ending, bifur = ending.T, bifur.T end = time.clock() print end - start plt.figure() imshow(img_origin) N, M = img_origin.shape X, Y = np.mgrid[0:N:blockSize, 0:M:blockSize] plt.quiver(Y, X, np.cos(theta), np.sin(theta), color='r') plt.figure() imshow(img_enhance) plt.figure() plt.imshow(img_thin, cmap='gray') plt.figure()