【问题标题】:Creating a fingerprint database创建指纹数据库
【发布时间】:2012-03-29 17:45:13
【问题描述】:

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

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

【问题讨论】:

    标签: python image-processing search-engine information-retrieval feature-detection


    【解决方案1】:

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

    surf = cv2.SURF(1000)
    

    surf = cv2.SURF(100)
    

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

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

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

    【讨论】:

      【解决方案2】:

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

      最常用于实时图像处理的库(您不需要实时,但快速不会出错)是OpenCV。它有 Python 绑定和内置的feature detection algorithms。另见this comparison

      有关图像比较算法的概述,请查看this question

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-28
          • 1970-01-01
          • 2018-02-21
          相关资源
          最近更新 更多