好吧,我目前也在研究那个。UareU SDK V3.0.0,
但我对验证和比较功能有疑问。
但是,要回答您的问题,如果您有指纹图像,
您可以直接将图像导入Fmd
。我的意思是(我使用 ISO 标准):
Fmd fmd = UareUGlobal.GetEngine().CreateFmd(bInput, 500, 550, 700, 0, 0, Fmd.Format.ISO_19794_2_2005)
然后,您可以compare
或verify
直接使用 this fmd
。
注意:with、height、resolution 必须根据您的图像和阅读器进行更改。
cbeffid
参数,我试过0和1。
如果有人找到这个参数的正确答案,也请建议我。
CBEFF
错误
API 调用无效
大多数情况下,我发现分辨率、指纹格式和手指位置参数是正确的。指纹参数,我通常设置为 0(食指或第一视图)
更新
如果您正在使用javascript
. 我建议您将 base64 字符串从 javascript 转换为bufferedImage
first。
public static Fmd importImageString(String image) throws UnsupportedEncodingException, IOException, UareUException {
byte[] bytes = Base64.getDecoder().decode(image.getBytes("UTF-8"));
if (null != bytes && bytes.length > 0) {
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
BufferedImage buf = ImageIO.read(stream);
if (null != buf) {
return UareUGlobal.GetEngine().CreateFmd(
TestDPuareU.toBytes(buf),
buf.getWidth(),
buf.getHeight(),
500, 0, 1, Fmd.Format.ISO_19794_2_2005
);
}
}
return null;
}
public static byte[] toBytes(BufferedImage image) throws IOException {
WritableRaster raster = image.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
return (data.getData());
}
image
我从 javascript ( var finger
)得到它,sdk.onSamplesAcquired = function (s)
如下所示
var samples = JSON.parse(s.samples);
var finger = Fingerprint.b64UrlTo64(samples[0])