安卓设备摄像头使用指纹识别扫描器

6
我正在尝试实现捕获指纹图像,然后扫描该图像并从中获取生物识别指纹,最后将该图像发送到服务器。基本上,我不知道如何处理这些图像处理。因此,我尝试了Onyx SDK,问题得到解决,但它是一个试用版。现在,我需要知道获取指纹图像的过程,例如裁剪、反转、对比度等。有人能告诉我进行图像处理的步骤吗?或者有其他指纹传感器的开源SDK。非常感谢您的帮助。
我只是想做类似于这样的事情。 enter image description here enter image description here 其中,图片一是捕获的图像,图片二是识别生物识别指纹后的图像。

你确定你能用相机拍出这么好的手指照片吗? - Carlo Moretti
是的,我认为是这样的。因为我使用了Onyx的SDK,得到了良好的图像,并且验证已经通过验证。 - User Learning
1
好的,酷!在这个阶段,我会做以下三步处理:1. 只裁剪指尖部分,2. 使用边缘检测(https://en.wikipedia.org/wiki/Edge_detection)获取类似于你发布的第二张图片的效果,3. 使用SIFT (https://en.wikipedia.org/wiki/Scale-invariant_feature_transform)从指纹图像中提取特征以便进行匹配。 - Carlo Moretti
目前我没有。你能告诉我为什么吗? - User Learning
哦,谢谢,但我没有,所以请使用上面的或者我很快会上传。 - User Learning
1个回答

11

基本上你需要做的是“匹配”两张指尖图片:一张是已授权用户指尖的原始图像,另一张是相机刚刚捕捉到的指尖图像。

如果这两个图像“匹配”,那么相机捕捉到了授权用户的指尖,你应该让她进入,否则访问将被拒绝。

以下是我评估两个指尖图像“匹配”的步骤:

  1. 裁剪关键部分:您可以在图像中心裁剪一个区域,或者在CameraPreview上覆盖一个正方形区域,并要求用户在完全覆盖指尖的情况下捕捉相机图像。然后裁剪出该正方形内的内容。

  2. 均衡裁剪后的图像:均衡化可以增加对比度并改善图像。

  3. 检测边缘:通过检测边缘,您将获得类似于您发布的黑白图像,只显示指纹线条的图像。

  4. 应用SIFT:使用SIFT提取“特征”,这些是点的不变(也包括旋转、倾斜、光照等)表示。使用这些特征,您可以比较两个图像:如果在两个图像中都可以找到这些特征,则它们匹配。


让我们举一个简单的实例

步骤1:原始图像

这是原始用户指尖图像

enter image description here

第二步:裁剪

我们将其裁剪为仅包括指尖。

enter image description here

步骤三:均衡化

我们对裁剪后的图像进行均衡化处理。

enter image description here

步骤4:边缘

我们找到边缘。

enter image description here

现在我们可以保存这张图片,以备将来进行身份验证参考。
第五步:拍摄新图像
当相机获取到一个新的指尖图像时。

enter image description here

步骤 6:处理新图像

我们会像处理原始图像一样处理它。

enter image description here

第七步:匹配

最后,我们使用SIFT算法将原始图像与新图像进行匹配。

enter image description here

即使有些点不匹配(10%),但大多数(90%,中央大组)仍然正确匹配。在这个例子中,SIFT找到了20个匹配点,您也可以设置特征质量的阈值来提高匹配度。

使用Android

要在Android上完成所有这些事情,您可以使用OpenCV Android库,该库具有几乎所有内容的实用程序,包括SIFT

希望这可以帮助到您。


谢谢,这对我很有帮助。所以我需要使用OpenCV SDK来捕获图像并在该图像上执行以下操作:1.裁剪必要的部分2.均衡裁剪后的图像3.检测边缘4.应用SIFT算法:? - User Learning
你可以使用OpenCV完成所有这些步骤。因为它有大多数步骤的特定方法,所以应该相当容易。 - Carlo Moretti
嗯,如果您知道使用OpenCV处理指纹的任何教程,请给我链接,谢谢。 - User Learning
1
这里有另一种类似的方法(它使用二值化+细化+哈里斯角响应):https://www.packtpub.com/books/content/fingerprint-detection-using-opencv-3 - Carlo Moretti

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