资源简介

这是一个相当完整的指纹特征提取系统,里面包含了大量的指纹图像预处理算法:包括指纹图像的方向场和频率场的求取,指纹图像的分割、去噪、增强、细化,最后提取出指纹图像的特征点。指纹图像预处理部分的源代码包含在FP这个文件夹里面。具体运行方法:在sampledemo这个文件夹里面的DEBUG文件里面有一个可执行文件,可以直接使用 PS:本系统只能处理256*360的灰度指纹图像,对这个系统有什么明白的地方可以发消息给我。

资源截图

代码片段和文件信息

// CamEngine.cpp : Defines the entry point for the DLL application.
//

#include “stdafx.h“
#include “CamEngine.h“
#include “math.h“

#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
#define PI      3.1415926

IVideoWindow  * g_pVW = NULL;
IMediaControl * g_pMC = NULL;
IMediaEventEx * g_pME = NULL;
IGraphBuilder *g_pGraph = NULL;
ICaptureGraphBuilder2 *g_pCapture = NULL;
IbaseFilter *  g_pCap;
ISampleGrabber *g_pGrabber;
IAMStreamConfig *g_pConfig;



AM_MEDIA_TYPE g_StillMediaType;

BYTE *g_pBuffer = NULL;
VIDEOINFOHEADER *gvih = NULL;
BOOL   g_bOneShot = FALSE; 

#define SRCIMGW 640
#define SRCIMGH 480
#define RSTIMGW 256
#define RSTIMGH 360



BYTE g_Buffer[SRCIMGW*SRCIMGH];
BYTE g_Result[RSTIMGW*RSTIMGH];

int SaveBitmap(unsigned char *lpBits int  width int height LPCTSTR lpszPathName)
{
BITMAPFILEHEADER   bf;
BITMAPINFOHEADER   bi;
HFILE              hf;
BYTE palatte[256*4];
int i =0;

//构造bmp文件头信息
bf.bfType=19778;
bf.bfSize=width*height+1078;
bf.bfReserved1=0;
bf.bfReserved2=0;
bf.bfOffBits=1078;
bi.biSize=40;
bi.biHeight=height;
bi.biWidth=width;
bi.biPlanes=1;
bi.biBitCount=8;
bi.biCompression=0;
bi.biSizeImage=width*height;
bi.biXPelsPerMeter=0;
bi.biYPelsPerMeter=0;
bi.biClrUsed=256;
bi.biClrImportant=0;
for(i=0; i < 256; i++)
{
palatte[i*4]   = i;
palatte[i*4+1] = i;
palatte[i*4+2] = i;
palatte[i*4+3] = 0;
}

hf = _lcreat(lpszPathName0);
_lwrite(hf(LPSTR)&bfsizeof(BITMAPFILEHEADER)); 
_lwrite(hf(LPSTR)&bisizeof(BITMAPINFOHEADER)); 
_lwrite(hf(LPSTR)palatte1024); 
_lwrite(hf(LPSTR)lpBits width*height);
_lclose(hf);

return 0; 
}

double computeY(double oldI double W0 double W1 double TH)
{

double oldTH = 15 * 1.414 u = 15;

double RH = RSTIMGH SH = SRCIMGH;

double sina = 1.414 / 2 cosa = 1.414 / 2;

double oY = SH * (W0 / (W0 + W1));

double f = u / 2;//u - oldTH * cosa * (W1 / (W0 - W1));

double u_f = (W1 / (W0 - W1) ) * oldTH * cosa;

double a_b = oldTH * sina / 2 * f * (1 / (u_f + oldTH * cosa) + 1 / u_f);


double oldY = ((oldI - RH / 2) / RH) * oldTH;

double newY = - oldY * sina * f / (u_f + oldTH * sina / 2 - oldY * cosa);

double newI = newY * SH / (a_b) + oY;

newI = SH - newI;

return newI;

}
/*
P2   W1 P3
-------------        ----
   /             \
  /               \      TH
 /                 \
/                   \
   -----------------------   ----
  P0          W0         P1

BMP图像左下角为坐标原点


P0_X       P0横坐标
P0_Y       P0纵坐标
P1_X       P1横坐标
P1_Y       P1纵坐标
P2_X       P2横坐标
P2_Y       P2纵坐标
P3_X       P3横坐标
P4_Y       P3纵坐标

*/
//矫正函数(源图指针,矫正图指针,参数指针)
void RectifyFunc(unsigned char *lpSrcBitmap unsigned char *lpRstBitmap int *pParam)
{
int P0_X = pParam[0];
int P0_Y = pParam[1];
int P1_X = pParam[2];
int P1_Y = pParam[3];
int P2_X = pParam[4];
int P2_Y = pParam[5];
int

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15614  2008-10-22 15:56  指纹特征提取系统\CamEngine\CamEngine.cpp

     文件       4472  2008-10-22 15:56  指纹特征提取系统\CamEngine\CamEngine.dsp

     文件        543  2008-10-22 15:56  指纹特征提取系统\CamEngine\CamEngine.dsw

     文件       1487  2008-10-22 15:56  指纹特征提取系统\CamEngine\CamEngine.h

     文件      74752  2009-06-06 00:18  指纹特征提取系统\CamEngine\CamEngine.ncb

     文件     175616  2009-06-06 00:18  指纹特征提取系统\CamEngine\CamEngine.opt

     文件       1985  2008-10-22 15:56  指纹特征提取系统\CamEngine\CamEngine.plg

     文件       5524  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\BuildLog.htm

     文件    3875840  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.bsc

     文件     282698  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.dll

     文件       2048  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.dll.embed.manifest

     文件       1970  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.exp

     文件       1487  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.h

     文件     495316  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.ilk

     文件       4302  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.lib

     文件      40081  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.obj

     文件     779264  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.pdb

     文件          0  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\CamEngine.sbr

     文件     194466  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\StdAfx.obj

     文件    1886259  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\StdAfx.sbr

     文件     238592  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\vc60.idb

     文件     823296  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\vc60.pdb

     文件     175104  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\vc80.idb

     文件     299008  2008-10-22 15:56  指纹特征提取系统\CamEngine\Debug\vc80.pdb

     文件       1268  2008-10-22 15:56  指纹特征提取系统\CamEngine\ReadMe.txt

     文件        296  2008-10-22 15:56  指纹特征提取系统\CamEngine\StdAfx.cpp

     文件        885  2008-10-22 15:56  指纹特征提取系统\CamEngine\StdAfx.h

     文件       1487  2008-10-22 15:56  指纹特征提取系统\FP\CamEngine.h

     文件       3254  2008-10-22 15:56  指纹特征提取系统\FP\coding.h

     文件     282698  2008-10-22 15:56  指纹特征提取系统\FP\Debug\CamEngine.dll

............此处省略194个文件信息

评论

共有 条评论