检查数据库中的指纹 [英] Check a fingerprint in the database
问题描述
我将指纹保存在斑点"字段中,然后想知道比较这些印象的唯一方法是否是使用函数"identify_finger"检索数据库中保存的所有打印件,然后创建要检查的矢量?您可以使用SELECT直接从数据库中检查吗?
I am saving the fingerprints in a field "blob", then wonder if the only way to compare these impressions is retrieving all prints saved in the database and then create a vector to check, using the function "identify_finger"? You can check directly from the database using a SELECT?
我正在使用libfprint.在此代码中,验证是通过向量完成的:
I'm working with libfprint. In this code the verification is done in a vector:
def test_identify():
cur = DB.cursor()
cur.execute('select id, fp from print')
id = []
gallary = []
for row in cur.fetchall():
data = pyfprint.pyf.fp_print_data_from_data(str(row['fp']))
gallary.append(pyfprint.Fprint(data_ptr = data))
id.append(row['id'])
n, fp, img = FingerDevice.identify_finger(gallary)
推荐答案
使用指纹数据库有两种根本不同的方法.一种是验证通过其他方式认识的人的身份,另一种是搜索身份未知的人.
There are two fundamentally different ways to use a fingerprint database. One is to verify the identity of a person who is known through other means, and one is to search for a person whose identity is unknown.
简单的库(例如libfprint
)仅适用于第一种情况.由于您使用它来验证某人,因此您可以使用其身份从数据库中查找一行.也许您已经扫描了多个手指,或者每个手指存储了多个扫描,但是仍然会返回少量的数据库Blob.
A simple library such as libfprint
is suitable for the first case only. Since you're using it to verify someone you can use their identity to look up a single row from the database. Perhaps you've scanned more than one finger, or perhaps you've stored multiple scans per finger, but it will still be a small number of database blobs returned.
必须从头开始设计一种指纹搜索算法,以缩小搜索空间,进行快速比较,对结果进行排名并处理假阳性.正如Google搜索可能会找到与您要查找的内容完全不相关的页面一样,指纹搜索也是如此.有些公司全力以赴解决这个问题.
A fingerprint search algorithm must be designed from the ground up to narrow the search space, to compare quickly, and to rank the results and deal with false positives. Just as a Google search may come up with pages totally unrelated to what you're looking for, so too will a fingerprint search. There are companies that devote their entire existence to solving this problem.
这篇关于检查数据库中的指纹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!