使用C#编写的指纹识别软件

13

我打算使用生物识别技术验证应用程序的用户输入,我在互联网上做了一些研究,发现以下几种生物识别技术可供选择:

  1. 指纹
  2. 面部识别
  3. 视网膜扫描
  4. 虹膜扫描
  5. 语音识别
  6. 签名验证

其中,我认为指纹是最合适的选项。但是问题在于指纹设备的API会因硬件而异。因此,我很可能需要编写针对多个设备API的代码,这让我感到不友好。

我打算使用C#进行编程。有没有解决方法?由于我是新手,所以一无所知。如何解决这个问题,项目范围有多大,我的项目方法应该是什么。

4个回答

8
问题并不仅限于指纹识别器,它也适用于您列表中的所有其他选项以及许多其他外围设备。实际上,标准API是例外。因此,您需要寻找出售此类库或编写自己的人(使用COM和/或Interop)。而且,自己开发通常不是一个小而简单的项目。您的程序将具有支持的设备列表,排除其余设备。

7
我的同事被委托为我们共同工作的公司构建一个基于生物特征的员工打卡系统。我们选择了指纹作为生物特征来源。他研究并使用了Bayometric - Griaule Fingerprint SDK库以及一些廉价的微软读卡器。从他当时向我展示和讲述的内容来看,这个.NET库具有良好的API,并且易于使用。
这个生物特征系统至今仍在使用,已经过去了5年。

很不幸,GrFinger网站现在无法访问。 - Jamshaid K.
更新了链接。 - Plebsori

3
我在生物识别领域工作,使用C#进行大部分指纹相关的工作。出于这个原因,我的公司不得不开发一个指纹设备抽象库。考虑到所有指纹扫描仪只需要一个真正的调用:getImage。基于此,我的公司编写了一个库,初始化和设置每个设备,创建一个通用包装器,分配一个唯一的ID,并将其放入一个大列表中,可枚举。
然后从C#端,你只需要“选择”一个设备(你所依据的只有唯一的ID和可能的制造商),然后使用它。返回的图像数据必须提前决定,以便您知道每次会得到什么。
这种方法的主要问题是,现今很多设备都有各种花哨的功能(例如可编程闪光灯),通过对设备进行抽象,你失去了访问这些特殊功能的能力。此外,一些设备实际上返回多个数据通道(例如各种光谱),你必须舍弃除一个通道外的所有通道,以使应用程序保持设备无关性,这是一个困难的决定。
最后请记住:如果你进行细节提取,则遗憾的是,你使用的设备将影响检测到的细节。某些设备针对某些算法进行了“调整”,因此使用A设备进行注册和B设备进行匹配可能根本不起作用,尽管指纹看起来完美。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接