Android 用mantra指纹传感器检测手指类型
我有mantra MFS100光学指纹传感器,我想构建一个android应用程序,显示正在扫描的手指类型 我想让这个应用程序能够像拇指或食指一样显示正在扫描的手指 注意:我已经成功下载了mantra MFS100 Android SDK,但是没有任何功能可以检测正在扫描的手指类型 下面是开始捕获手指数据的功能Android 用mantra指纹传感器检测手指类型,android,fingerprint,fingerprinting,Android,Fingerprint,Fingerprinting,我有mantra MFS100光学指纹传感器,我想构建一个android应用程序,显示正在扫描的手指类型 我想让这个应用程序能够像拇指或食指一样显示正在扫描的手指 注意:我已经成功下载了mantra MFS100 Android SDK,但是没有任何功能可以检测正在扫描的手指类型 下面是开始捕获手指数据的功能 private void StartSyncCapture() { // //// Use thread if you want to show preview, else no
private void StartSyncCapture() {
// //// Use thread if you want to show preview, else no need to use
// thread.
new Thread(new Runnable() {
@Override
public void run() {
SetTextonuiThread("");
try {
FingerData fingerData = new FingerData();
int ret = mfs100.AutoCapture(fingerData, timeout, true,
false);
if (ret != 0) {
SetTextonuiThread(mfs100.GetErrorMsg(ret));
} else {
final Bitmap bitmap = BitmapFactory.decodeByteArray(
fingerData.FingerImage(), 0,
fingerData.FingerImage().length);
imgFinger.post(new Runnable() {
@Override
public void run() {
imgFinger.setImageBitmap(bitmap);
imgFinger.refreshDrawableState();
}
});
SetTextonuiThread("Capture Success");
String log = "\nQuality: " + fingerData.Quality()
+ "\nNFIQ: " + fingerData.Nfiq()
+ "\nWSQ Compress Ratio: "
+ fingerData.WSQCompressRatio()
+ "\nImage Dimensions (inch): "
+ fingerData.InWidth() + "\" X "
+ fingerData.InHeight() + "\""
+ "\nImage Area (inch): " + fingerData.InArea()
+ "\"" + "\nResolution (dpi/ppi): "
+ fingerData.Resolution() + "\nGray Scale: "
+ fingerData.GrayScale() + "\nBits Per Pixal: "
+ fingerData.Bpp() + "\nWSQ Info: "
+ fingerData.WSQInfo();
SetLogOnUIThread(log);
//////////////////// Extract ANSI Template
byte[] tempData = new byte[2000]; // length 2000 is mandatory
byte[] ansiTemplate = null;
int dataLen = mfs100.ExtractANSITemplate(fingerData.RawData(), tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract ANSI Template");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
ansiTemplate = new byte[dataLen];
System.arraycopy(tempData, 0, ansiTemplate, 0,
dataLen);
}
//////////////////////////////////////////////
//////////////////// Extract ISO Image
dataLen=0;
tempData = new byte[(mfs100.GetDeviceInfo().Width() * mfs100.GetDeviceInfo().Height())+1078];
byte[] isoImage = null;
dataLen = mfs100.ExtractISOImage(fingerData.RawData(),tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract ISO Image");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
isoImage = new byte[dataLen];
System.arraycopy(tempData, 0, isoImage, 0,
dataLen);
}
//////////////////////////////////////////////
//////////////////// Extract WSQ Image
dataLen=0;
tempData = new byte[(mfs100.GetDeviceInfo().Width() * mfs100.GetDeviceInfo().Height())+1078];
byte[] wsqImage = null;
dataLen = mfs100.ExtractWSQImage(fingerData.RawData(),tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract WSQ Image");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
wsqImage = new byte[dataLen];
System.arraycopy(tempData, 0, wsqImage, 0,
dataLen);
}
//////////////////////////////////////////////
SetData2(fingerData,ansiTemplate,isoImage,wsqImage);
}
} catch (Exception ex) {
SetTextonuiThread("Error");
}
}
}).start();
}
您的示例代码有助于捕获和提取图像WSQ或ISO或ANSI模板
您必须使用函数将当前指纹与保存的指纹匹配。例如,使用此方法:mfs100.MatchISONamy,无法从捕获的数据中识别手指的位置,例如左食指、左拇指、右食指等。您需要从您的侧面管理手指的位置。如果您想执行Aadhaar实施 您需要传递pid选项并获取pid_数据和设备_信息,以便下载RDServiceMFS100,然后导入到旧版本的android,因此需要进行一些更改,如添加google maven,由android studio提供自动建议,然后需要替换对此的旧约束
编译'com.android.support.constraint:constraint layout:1.1.3'之后,准备好测试并将代码放在您想要的地方。您好,您从prob出来了吗?我正在搜索过去两周的教程,但什么也找不到。你能告诉我从哪里可以阅读文档和找到它的演示吗。谢谢。这个样品对我根本不起作用,我卡住了。我相信你是从我这里得到这个样品的https://download.mantratecapp.com/Forms/UserDownload. 我已经检查了USB主机,还将扫描仪连接到了android设备,但应用程序仍然显示没有设备连接。让我知道我可能错在哪里。不过,当你从Mantra MFS sdk->sample->AndroidStudio下载它,然后在android studio中导入该项目,构建它并尝试在真实设备中运行它时,该示例可以工作。我假设你知道如何将apk从系统传输到手机,然后一旦你的应用程序安装完毕,你可以看到应用程序正在运行,现在在应用程序中,你有一个名为“捕获”的按钮,当你点击它时,只有生物识别设备指示灯变为红色,然后你开始捕获finger@EnvironerInc,它有用吗?mfs100.MatchISO?这是什么?你能详细说明一下吗?fingerData.ISOTemplate提供字节数组,当我们保存到数据库时,我们是否应该保存这个字节数组,然后检索它以进行比较/匹配?您应该发布一些代码来演示您的方法。