使用 android 设备摄像头的指纹扫描仪
Fingerprint scanner using camera of android device
我正在尝试实现,捕获手指图像,然后扫描该图像并从该图像中获取生物指纹,最后将该图像发送到服务器。
基本上我不知道要对这些进行图像处理。所以我尝试了 Onyx SDK,问题解决了。但它是一个跟踪版本。现在我需要知道为了获得手指的生物图像,需要经过哪些过程,如裁剪、反转、对比等。
谁能告诉我图像处理的步骤。或任何其他用于指纹传感器的开源 SDK。非常感谢您的帮助。
我只是想做这样的事情。
假设 img 1 是捕获的图像,imge 2 是在重新识别生物特征指纹之后
基本上你需要做的是"match"两张指尖图像:一张是授权用户指尖的原始图像,另一张是相机刚刚捕获的指尖图像。
如果是两张图片"match"那么摄像头拍到了授权用户的指尖,你应该让她进来,否则拒绝访问。
这是我用来评估 "matching" 与指尖图像之间的步骤:
Crop the essential part: 你可以在图像的中心裁剪一个区域,或者在 CameraPreview 上叠加一个正方形区域并询问当这个方形区域完全被她的指尖覆盖时,用户可以捕捉相机图像。然后裁剪掉那个方块里面的东西。
Equalize the cropped image:均衡化提供了更多的对比度并总体上改善了图像。
Detect edges:通过检测边缘,您将获得类似于您发布的黑白图像的内容,仅显示指纹线。
Apply SIFT:使用 SIFT,您可以提取 "features",它们是尺度不变的(也包括旋转、倾斜、光线…… -invariant) 表示图像中的点。使用这些特征,您可以比较两个图像:如果在两个图像中都可以找到特征,则它们匹配。
举个实际的例子
第 1 步:原始图像
这是原始用户的指尖图像
第 2 步:裁剪
我们将它裁剪到指尖
步骤 3:均衡
我们均衡裁剪后的图像
第 4 步:边
我们找到边
现在我们可以保存此图像并保留它以备将来验证参考。
第 5 步:捕获新图像
当相机获取指尖的新图像时
第 6 步:处理新图像
我们像原来一样处理它
第 7 步:匹配
最后我们使用 SIFT 将原始图像与新图像进行匹配
看到,即使某些点不匹配 (10%),它们中的大多数(90%,大中心组)匹配正确。在此示例中,SIFT 找到了 20 个匹配点,您还可以设置特征质量阈值以改善匹配。
与Android
要使用 Android 完成所有这些操作,您可以使用 OpenCV Android Library which has utils for pretty much everything, including SIFT
希望对您有所帮助。
我正在尝试实现,捕获手指图像,然后扫描该图像并从该图像中获取生物指纹,最后将该图像发送到服务器。 基本上我不知道要对这些进行图像处理。所以我尝试了 Onyx SDK,问题解决了。但它是一个跟踪版本。现在我需要知道为了获得手指的生物图像,需要经过哪些过程,如裁剪、反转、对比等。 谁能告诉我图像处理的步骤。或任何其他用于指纹传感器的开源 SDK。非常感谢您的帮助。
我只是想做这样的事情。
假设 img 1 是捕获的图像,imge 2 是在重新识别生物特征指纹之后
基本上你需要做的是"match"两张指尖图像:一张是授权用户指尖的原始图像,另一张是相机刚刚捕获的指尖图像。
如果是两张图片"match"那么摄像头拍到了授权用户的指尖,你应该让她进来,否则拒绝访问。
这是我用来评估 "matching" 与指尖图像之间的步骤:
Crop the essential part: 你可以在图像的中心裁剪一个区域,或者在 CameraPreview 上叠加一个正方形区域并询问当这个方形区域完全被她的指尖覆盖时,用户可以捕捉相机图像。然后裁剪掉那个方块里面的东西。
Equalize the cropped image:均衡化提供了更多的对比度并总体上改善了图像。
Detect edges:通过检测边缘,您将获得类似于您发布的黑白图像的内容,仅显示指纹线。
Apply SIFT:使用 SIFT,您可以提取 "features",它们是尺度不变的(也包括旋转、倾斜、光线…… -invariant) 表示图像中的点。使用这些特征,您可以比较两个图像:如果在两个图像中都可以找到特征,则它们匹配。
举个实际的例子
第 1 步:原始图像
这是原始用户的指尖图像
第 2 步:裁剪
我们将它裁剪到指尖
步骤 3:均衡
我们均衡裁剪后的图像
第 4 步:边
我们找到边
现在我们可以保存此图像并保留它以备将来验证参考。
第 5 步:捕获新图像
当相机获取指尖的新图像时
第 6 步:处理新图像
我们像原来一样处理它
第 7 步:匹配
最后我们使用 SIFT 将原始图像与新图像进行匹配
看到,即使某些点不匹配 (10%),它们中的大多数(90%,大中心组)匹配正确。在此示例中,SIFT 找到了 20 个匹配点,您还可以设置特征质量阈值以改善匹配。
与Android
要使用 Android 完成所有这些操作,您可以使用 OpenCV Android Library which has utils for pretty much everything, including SIFT
希望对您有所帮助。