0

我想知道如何创建指纹数据库。如果指纹存储为图像,您如何比较数据库中的图像,或者创建像TinEye这样的图像搜索引擎?

我知道这是一个很大的话题,但我只是在寻找一个起点。这可以使用 Python/Django 库和 MySQL 来完成吗?

4

3 回答 3

2

OpenCV 附带了一个示例程序,可以满足您的需求。它被称为find_obj.py。在您的编辑器中将其拉起并更改:

surf = cv2.SURF(1000)

surf = cv2.SURF(100)

这应该会在指纹扫描的负片中找到许多“内部”兴趣点。

您可以尝试使用许多变量,并最终为您要比较的图像类型找到最佳配置。更改示例以允许您将单个图像与整个目录进行比较也相当简单。

我应该指出,这只对执法部门使用的数字化指纹扫描有效。

于 2012-03-13T16:07:36.567 回答
1

作为一种非常简单的方法,您可以抓取所有图像并为每个图像计算哈希值。

稍后,当用户提交图像以进行搜索时,您也为此计算哈希并在数据库中查找相同的哈希。

但是,这确实是一种非常简单的方法,并且只有在搜索精确的图像副本时才会起作用。理想情况下,每张图像都应转换为一些简化的特征集(以容忍同一图像的不同版本——不同的格式、大小、噪声等)用于比较。例如,值得尝试将图像(抓取和提交以供搜索)转换为 128x128 大小的灰度并计算其哈希值。

于 2012-03-13T10:24:48.523 回答
1

Python 图像库可能是开始图像处理的最佳库。

最常用于实时图像处理的库(您不需要实时,但快速不会出错)是OpenCV。它具有 Python 绑定和内置的特征检测算法。另请参阅此比较

有关图像比较算法的概述,请查看此问题

于 2012-03-13T10:30:22.870 回答