我无法检测到人类签名

时间:2019-07-14 13:24:35

标签: java android image-processing bitmap

我正在开发一个应用程序,以使用户检测到人类签名,然后匹配该签名,以便当该用户分配某些内容时,但我无法匹配这两个签名。

我试图将手势转换为位图,以比较两个位图,它逐像素比较位图,但不匹配。

public boolean equals(Bitmap bitmap1, Bitmap bitmap2) {
    ByteBuffer buffer1 = ByteBuffer.allocate(bitmap1.getHeight() * 
    bitmap1.getRowBytes());
    bitmap1.copyPixelsToBuffer(buffer1);

    ByteBuffer buffer2 = ByteBuffer.allocate(bitmap2.getHeight() * 
    bitmap2.getRowBytes());
    bitmap2.copyPixelsToBuffer(buffer2);

    return Arrays.equals(buffer1.array(), buffer2.array());

}

但是此代码逐像素进行比较,因此,如果仅移动一个位图,将无法正常工作。

这是我将其保存为位图的签名:

enter image description here 这是相同的签名,但不完全相同:

enter image description here

然后,当我传递这些位图以检查它们是否相同时,它返回false并说签名不匹配。

那我该如何解决这个问题?

0 个答案:

没有答案