我正在使用 JavaScript 获取 .png 指纹图像并使用 .NET 验证获取的指纹,但它不起作用

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

我正在使用 JavaScript SDK 使用 URU 4500 设备和 3.2 Digital Persona SDK 获取指纹。该图像是 .png,我将其以 base64 发送到服务器。

在服务器上,图像被转换为字节并交给

FeatureExtraction.CreateFmdFromRaw()
以进一步生成FMD,我正在使用
Compare()
方法比较2个FMD。

获取图像的Javascript代码:

localStorage.setItem("imageSrc", "");
    var samples = JSON.parse(s.samples);

    document.getElementById("fingerCounts").innerHTML = "Finger Counts = " + 
 enrollmentCount;
    if (identify) {
        $.ajax({
            type: "POST",
            url: '/Biometric/Compare',
            data: { fingerData:Fingerprint.b64UrlTo64(samples[0]), studentId: 1 },
            dataType: "json",
            success: function (data) {
                if (data === true)
                    alert('You are matched.');
                else {
                    alert('You are not matched');

                }
            },
            error: function () {
                alert('Error');
            }
        });
    }

这是 C# 代码,我在其中比较两个手指,一个来自数据库,另一个来自请求:

    public JsonResult Compare(string fingerData, int studentId)
    {
        byte[] bytes = Convert.FromBase64String(fingerData);
        var storeData = _context.StudentBiometricData.SingleOrDefault(x=>x.StudentId == studentId);

        DataResult<Fmd> currentFinger = FeatureExtraction.CreateFmdFromRaw(bytes, 1, 
 3407615, 500, 550, 700, Constants.Formats.Fmd.ANSI);
        Fmd recorderFmd = Fmd.DeserializeXml(storeData.FingerFMD);


        CompareResult compareResult = Comparison.Compare(currentFinger.Data, 0, 
      recorderFmd,  1);

      
        return Json(false);
    }

当我使用

CreateFmdFromRaw
从原始图像创建 FMD 时,它主要给出
DP_Faluir
Compare()
方法返回INVAID_PARAMETER。我哪里做错了什么?提供的示例 WPF 应用程序工作正常,没有给出任何错误,并且工作完美。我认为这是因为我使用的是图像而不是 FID?

asp.net .net fingerprint biometrics digital-persona-sdk
1个回答
0
投票

嘿任何人都在 DigitalPersona 中实现了“获取 .png 指纹图像并使用 .NET 添加和验证获取的指纹”。

© www.soinside.com 2019 - 2024. All rights reserved.