資源簡介
這是一個相當完整的指紋特征提取系統,里面包含了大量的指紋圖像預處理算法:包括指紋圖像的方向場和頻率場的求取,指紋圖像的分割、去噪、增強、細化,最后提取出指紋圖像的特征點。指紋圖像預處理部分的源代碼包含在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.em
?????文件???????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個文件信息
- 上一篇:流浪地球-安卓大屏導航開機動畫
- 下一篇:迅雷無限制版
評論
共有 條評論