如果指纹存在并由此引起指纹混淆,如何使用Adafruit_Fingerprint.h进行验证?

问题描述 投票:0回答:1

我有一个问题,我需要在注册之前验证指纹,我的问题是我必须将手指放在指纹上3次,我通常只想做两次。验证是好的,我只是不知道为什么我必须移开手指才能继续进行此手指的注册,这是我在getFingerprintEnroll ()方法中所做的。

我的期望是第一次将手指放在传感器上,在这里我确认指纹不存在,以防万一未注册指纹,请首先捕获指纹以进行注册,而不必从传感器,其余的不再重要。

在我的loop中,我有类似的内容:

id = readnumber();
// ...
while ((huella = finger.getImage()) != FINGERPRINT_OK);
if (getFingerprintIDez() != -1) {
    Serial.println("exist");
    return;  
} else {
    Serial.println("no_exist");  
    while (!  getFingerprintEnroll() );
}

我使用的方法是:

int getFingerprintIDez() {
    uint8_t p = huella;
    if (p != FINGERPRINT_OK)  return -1;
    p = finger.image2Tz();
    if (p != FINGERPRINT_OK)  return -1;
    p = finger.fingerFastSearch();
    if (p != FINGERPRINT_OK)  return -1;
    return finger.fingerID; 
}

uint8_t getFingerprintEnroll() {
  int p = -1;
  while (p != FINGERPRINT_OK) {
    p = finger.getImage(); // Here it is paused until I remove my finger
  }
  //...
}

最初以西班牙语here发表

arduino fingerprint
1个回答
0
投票

为了在匹配的指纹(FRR & FAR)上具有良好的性能,注册过程需要捕获同一根手指多次以合并minutiae的列表(例如,在iOS或Android上如此工作。

在adafruit SDK上,您可以设置安全级别:错误接受率:<0.001%(安全级别3)错误拒绝率:<1.0%(安全级别3)也许这会改变注册所需的时间(取决于SDK)。

根据您的情况,我建议您:

  1. 在注册前要检查手指是否不存在
  2. 通过多个捕获开始注册
© www.soinside.com 2019 - 2024. All rights reserved.