資源簡(jiǎn)介
花了10塊錢買的,希望對(duì)大家有幫助。/*#############################################################################
* 文件名:file.c
* 功能: 實(shí)現(xiàn)了指紋相關(guān)文件的操作
* modified by PRTsinghua@hotmail.com
#############################################################################*/
#include
#include
#include
#include "file.h"
/* 對(duì)象的這些接口實(shí)現(xiàn)是私有的,不必為用戶所知 */
typedef struct iFvsFile_t
{
FILE *pf; /* 文件指針 */
} iFvsFile_t;
/******************************************************************************
* 功能:創(chuàng)建一個(gè)新的文件對(duì)象,只有在創(chuàng)建之后,文件對(duì)象才能為其它函數(shù)所用。
* 參數(shù):無(wú)
* 返回:若創(chuàng)建失敗,返回NULL;否則返回新的對(duì)象句柄。
******************************************************************************/
FvsFile_t FileCreate()
{
iFvsFile_t* p = NULL;
p = (iFvsFile_t*)malloc(sizeof(iFvsFile_t));
if (p!=NULL)
p->pf = NULL;
return (FvsFile_t)p;
}
/******************************************************************************
* 功能:破壞一個(gè)已經(jīng)存在的文件對(duì)象,在毀壞之后,文件對(duì)象不能再為其它函數(shù)所用。
* 參數(shù):file 即將刪除的文件對(duì)象指針
* 返回:無(wú)返回值
******************************************************************************/
void FileDestroy(FvsFile_t file)
{
iFvsFile_t* p = NULL;
if (file==NULL)
return;
/* 關(guān)閉文件,如果它還打開(kāi)著 */
(void)FileClose(file);
p = file;
free(p);
}
/******************************************************************************
* 功能:打開(kāi)一個(gè)新的文件。一個(gè)文件可以讀打開(kāi),寫打開(kāi),或者被創(chuàng)建。
* 參數(shù):file 文件對(duì)象
* name 待打開(kāi)文件的名字
* flags 打開(kāi)標(biāo)志
* 返回:錯(cuò)誤編號(hào)
******************************************************************************/
FvsError_t FileOpen(FvsFile_t file, const FvsString_t name,
const FvsFileOptions_t flags)
{
iFvsFile_t* p = (iFvsFile_t*)file;
char strFlags[10];
int nflags = (int)flags;
/* 關(guān)閉文件,如果已經(jīng)打開(kāi) */
(void)FileClose(p);
strcpy(strFlags, "");
if ( (nflags & FvsFileRead)!=0 &&
(nflags & FvsFileWrite)!=0 )
strcat(strFlags, "rw");
else
{
if ((nflags & FvsFileRead)!=0)
strcat(strFlags, "r");
if ((nflags & FvsFileWrite)!=0)
strcat(strFlags, "w");
}
strcat(strFlags, "b");
if ((nfl

代碼片段和文件信息
/*#############################################################################
?*?文件名:fvs_binarize.c
?*?功能:??指紋圖像二值化
?*?modified?by??PRTsinghua@hotmail.com
#############################################################################*/
#include?“fvs.h“
int?main(int?argc?char?*argv[])
{
????FvsImage_t?image;
????FvsImage_t?mask;
????FvsFloatField_t?direction;
????FvsFloatField_t?frequency;
????if?(argc!=3)
????{
????????printf(“Usage:?fvs?input.bmp?output.bmp\n“);
????????return?-1;
????}
????mask??????=?ImageCreate();
????image?????=?ImageCreate();
????direction?=?FloatFieldCreate();
????frequency?=?FloatFieldCreate();
????if?(mask!=NULL?&&?image!=NULL?&&?direction!=NULL?&&?frequency!=NULL)
????{
????????(void)FvsImageImport(image?argv[1]);
(void)ImageSoftenMean(image?3);
????????fprintf(stdout?“1/5?Determining?the?ridge?direction\n“);
????????(void)FingerprintGetDirection(image?direction?5?8);
????????fprintf(stdout?“2/5?Determining?the?ridge?frequency\n“);
????????(void)FingerprintGetFrequency(image?direction?frequency);
????????fprintf(stdout?“3/5?Creating?the?mask\n“);
????????(void)FingerprintGetMask(image?direction?frequency?mask);
????????fprintf(stdout?“4/5?Enhancing?the?fingerprint?image\n“);
????????(void)ImageEnhanceGabor(image?direction?frequency?mask?4.0);
????????fprintf(stdout?“5/5?Binarize\n“);
????????(void)ImageBinarize(image?(FvsByte_t)0x80);
????????(void)FvsImageExport(image?argv[2]);
????}
????fprintf(stdout?“Cleaning?up?and?exiting...\n“);
????ImageDestroy(image);
????ImageDestroy(mask);
????FloatFieldDestroy(direction);
????FloatFieldDestroy(frequency);
????return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1675??2004-03-05?03:32??zwsb\demo\fvs_binarize.c
?????文件???????2640??2004-03-08?01:53??zwsb\demo\fvs_createtestimages.c
?????文件???????2198??2004-03-08?01:54??zwsb\demo\fvs_direction.c
?????文件???????1787??2004-03-08?01:52??zwsb\demo\fvs_enhancer.c
?????文件???????1434??2004-03-08?01:52??zwsb\demo\fvs_mask.c
?????文件???????2136??2004-03-08?01:53??zwsb\demo\fvs_minutia.c
?????文件???????1753??2004-03-08?01:53??zwsb\demo\fvs_thinner.c
?????文件????????817??2004-03-04?03:12??zwsb\includes\export.h
?????文件???????5709??2004-03-05?00:07??zwsb\includes\file.h
?????文件???????4754??2004-03-07?23:25??zwsb\includes\floatfield.h
?????文件???????1216??2004-03-04?14:31??zwsb\includes\fvs.h
?????文件???????2133??2004-03-04?17:16??zwsb\includes\fvstypes.h
?????文件???????2446??2004-03-07?23:28??zwsb\includes\histogram.h
?????文件???????6010??2004-03-07?23:32??zwsb\includes\image.h
?????文件???????5149??2004-03-05?00:59??zwsb\includes\imagemanip.h
?????文件???????4614??2004-03-05?02:14??zwsb\includes\img_ba
?????文件????????753??2004-03-07?04:29??zwsb\includes\import.h
?????文件???????1421??2004-03-04?20:19??zwsb\includes\matching.h
?????文件???????4665??2004-03-05?03:25??zwsb\includes\minutia.h
?????文件???????3363??2004-03-05?00:05??zwsb\source\export.c
?????文件???????7705??2004-03-05?00:21??zwsb\source\file.c
?????文件???????7181??2004-03-05?00:31??zwsb\source\floatfield.c
?????文件???????4716??2004-03-08?01:16??zwsb\source\histogram.c
?????文件???????8908??2004-03-08?01:16??zwsb\source\image.c
?????文件??????25818??2004-03-05?02:09??zwsb\source\imagemanip.c
?????文件??????11155??2004-03-05?02:18??zwsb\source\img_ba
?????文件???????5443??2004-03-08?01:27??zwsb\source\img_enhance.c
?????文件???????2141??2004-03-05?02:43??zwsb\source\img_morphology.c
?????文件???????6092??2004-03-08?01:36??zwsb\source\img_thin.c
?????文件???????2082??2004-03-08?01:40??zwsb\source\import.c
............此處省略10個(gè)文件信息
評(píng)論
共有 條評(píng)論