指纹扫描仪使用Android设备的相机

Use*_*ing 5 sdk android image-processing

我试图实现,捕获手指图像然后扫描该图像并从该图像获取生物识别指纹,然后最终将该图像发送到服务器.基本上我没有想过要对这些图像进行处理.所以我尝试了Onyx SDK,问题解决了.但它是一个小道版本.现在我需要知道为了获得手指的生物图像,过程经历了什么过程,如裁剪,反转,对比等.任何人都可以告诉我图像处理的步骤.或者用于指纹传感器的任何其他开源sdk.Ur帮助非常感谢.

我只是想做这样的事情. 在此输入图像描述 在此输入图像描述

说img one是捕获的图像,imge two是在重新生成生物识别指纹之后

Onh*_*ron 8

基本上你需要做的是"匹配"指尖的两个图像:一个是授权用户指尖的原始图像,另一个是相机刚拍摄的指尖图像.

如果两个图像"匹配",则摄像机捕获授权用户的指尖,您应该让她进入,否则将拒绝访问.

这是我用来评估指尖图像之间"匹配"的步骤:

  1. 裁剪基本部分:您可以裁剪图像中心的区域,或在CameraPreview上叠加一个方形区域,并要求用户在指尖完全覆盖此方形区域时捕捉摄像机图像.然后裁掉那个广场里面的东西.

  2. 均衡裁剪后的图像:均衡可提供更高的对比度,并且通常可以提升图像.

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

  4. 应用SIFT:使用SIFT,您可以提取"特征",这些特征是图像中点的不变(旋转,倾斜,光......不变).使用这些功能,您可以比较两个图像:如果可以在两个图像中找到特征,则它们匹配.


让我们举一个实际的例子

第1步:原始图像

这是原始用户的指尖图像

在此输入图像描述

第2步:裁剪

我们将它裁剪成指尖

在此输入图像描述

第3步:均衡

我们均衡了裁剪后的图像

在此输入图像描述

第4步:边缘

我们找到了边缘

在此输入图像描述

现在我们可以保存此图像并保留以供将来的身份验证参考.

第5步:捕获新图像

当相机获取指尖的新图像时

在此输入图像描述

第6步:处理新图像

我们处理它就像原始的一样

在此输入图像描述

第7步:匹配

最后,我们使用SIFT将原始图像与新图像匹配

在此输入图像描述

看到这一点,即使某些点不匹配(10%),其中大多数(90%,大中心组)也能正确匹配.在此示例中,SIFT找到20个匹配点,您还可以设置特征质量的阈值以改善匹配.


随着Android

要使用Android完成所有这些工作,您可以使用OpenCV Android库,它具有几乎所有功能,包括SIFT

希望这可以帮助.