谢谢大家的关心啊,呵…… 因为函数是别人已经提供了的(ACTIVEX),所以我不能改它的程序……还有一个信息就是: 他给我提供的函数有两个: Function VerFinger(regTemplate, verTemplate) As Boolean 比对两枚指纹的特征模版是否匹配。其中regTemplate表示指纹登记特征模版,verTemplate表示现场采集的指纹验证特征模版。两枚指纹匹配时返回 True,不匹配时返回 FalseFunction IdentificationInFPCacheDB (fpcHandle As Long, pVerTemplate, Byval Score As Long, Byval ProcessedFPNumber As Long) As Long 将指纹验证模板pVerTemplate和指纹识别高速缓冲空间fpcHandle中所有登记模板进行比对,Score传出ProcessedFPNumber次比对中的最高分数,ProcessedFPNumber传出比对的次数,当识别成功时返回值指纹标识,失败返回-1。 注意: 在识别过程中如果比对分数大于等于属性Threshold,则认为比对成功,不再和缓冲空间中剩余的指纹登记模板进行比对,函数返回匹配成功的指纹登记模板的指纹标识; 当指纹验证模板和指纹识别高速缓冲空间中所有指纹登记模板进行比对的分数都没有超过设定的Threshold,但同时比对的最高分数大于等于Score,则认为比对也是匹配成功,函数返回比对最高分数的指纹登记模板的标识,推荐设定为8; 前一个比对时间很长(一个200MS),后一个比对多个(1:N)最多都不超过30MS???我能看到的它们的区别是后一个在执行前用了下面这个函数……Function CreateFPCacheDB As Long 创建指纹识别高速缓冲空间,进行1:N识别时必须首先调用该函数得到指纹识别缓冲空间句柄。所以我就问能不能通过创建CACHE来实现了……
因为函数是别人已经提供了的(ACTIVEX),所以我不能改它的程序……还有一个信息就是:
他给我提供的函数有两个:
Function VerFinger(regTemplate, verTemplate) As Boolean
比对两枚指纹的特征模版是否匹配。其中regTemplate表示指纹登记特征模版,verTemplate表示现场采集的指纹验证特征模版。两枚指纹匹配时返回 True,不匹配时返回 FalseFunction IdentificationInFPCacheDB (fpcHandle As Long, pVerTemplate, Byval Score As Long, Byval ProcessedFPNumber As Long) As Long
将指纹验证模板pVerTemplate和指纹识别高速缓冲空间fpcHandle中所有登记模板进行比对,Score传出ProcessedFPNumber次比对中的最高分数,ProcessedFPNumber传出比对的次数,当识别成功时返回值指纹标识,失败返回-1。
注意:
在识别过程中如果比对分数大于等于属性Threshold,则认为比对成功,不再和缓冲空间中剩余的指纹登记模板进行比对,函数返回匹配成功的指纹登记模板的指纹标识;
当指纹验证模板和指纹识别高速缓冲空间中所有指纹登记模板进行比对的分数都没有超过设定的Threshold,但同时比对的最高分数大于等于Score,则认为比对也是匹配成功,函数返回比对最高分数的指纹登记模板的标识,推荐设定为8;
前一个比对时间很长(一个200MS),后一个比对多个(1:N)最多都不超过30MS???我能看到的它们的区别是后一个在执行前用了下面这个函数……Function CreateFPCacheDB As Long
创建指纹识别高速缓冲空间,进行1:N识别时必须首先调用该函数得到指纹识别缓冲空间句柄。所以我就问能不能通过创建CACHE来实现了……
开辟一段内存段,做临时数据处理
先把要比对的数据全读出来,置入数组或TStringList中
开始比对
结束比对愚见
h:=CreateFPCacheDB;////创建Cache
我想此时可以利用h,Load一些指纹数据到Cache里面,
然后用
Function IdentificationInFPCacheDB (h, pVerTemplate, Score,ProcessedFPNumber);
来进行比对,我们没有你的那个ActiveX控件和相关资料以及指纹数据,否则的话,可以测试一下。
P.S:如果可以的话,能不能给我这个控件以及相应的数据看看?
[email protected]
你可以到http://www.zksoftware.com/download.htm中去下载Biokey SDK 3.0 Pro 示例程序(普通版) ,那里面有示例程序,先要SETUP的……(ACTIVEX)。 你也只能看看源程序了,因为指纹数据我还不知道怎么存到数据库呢?
而VerFinger函数则只与一个指纹数据进行比较,但它的数据是放到内存中的。
前者就算是一个比十个也不会超过30MS(有时为0ms),而后者与一个比较都至少得200MS。
这两个函数都是一个公司提供的。照说具体每一个指纹的比对算法应该一样啊,为什么速度会有这么大的区别?
所以我就想是不是因为那个CreateFPCacheDB函数创建了一些CACHE之类的东西?
谢谢大家关心,请继续关注!!!
像c++ vc++ pb vb 算法 asm bcb等栏贴,毕竟delphi上头只有一部分人。
我也有同样的比对函数,他是将指纹数据存放在它自定义的一个指纹库里,然后
我做线程挨个去比对库中的信息,我倒还没注意像你所说的第一种情况。
我感觉它的指纹库做得很强劲,看了你的问题,我觉得两着应该是差不多的
原理。故而强烈关注!
在何处建立的高速缓存空间。