Создание базы данных отпечатков пальцев - PullRequest
0 голосов
/ 13 марта 2012

Мне было интересно, как создать базу данных отпечатков пальцев. Если отпечатки пальцев хранятся в виде изображений, как вы сравниваете изображения в базе данных или создаете поисковую систему изображений, например TinEye ?

Я знаю, что это большая тема, но я просто ищу отправную точку. Можно ли это сделать с помощью библиотек Python / Django и MySQL?

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

OpenCV поставляется с примером программы, которая делает то, что вы ищете. Он называется find_obj.py . Потяните его в своем редакторе и измените:

surf = cv2.SURF(1000)

до

surf = cv2.SURF(100)

Это должно найти множество "внутренних" точек интереса в негативе сканирования отпечатков пальцев.

Вы можете поиграть с рядом переменных и в конечном итоге найти лучшую конфигурацию для того типа изображений, которые вы сравниваете. Также довольно просто изменить образец, чтобы можно было сравнивать одно изображение со всем каталогом.

Я должен отметить, что это будет эффективно только для тех видов оцифрованного сканирования отпечатков пальцев, которые используются правоохранительными органами.

1 голос
/ 13 марта 2012

Библиотека Python Imaging , вероятно, является лучшей библиотекой, с которой можно начинать обработку изображений.

Библиотека, наиболее часто используемая для обработки изображений в реальном времени (вам не нужно в реальном времени, но вы не можете ошибиться с быстрым) OpenCV .Он имеет привязки Python и встроенные алгоритмы обнаружения функций .См. Также это сравнение .

Для обзора алгоритмов сравнения изображений взгляните на этот вопрос .

1 голос
/ 13 марта 2012

В качестве очень простого подхода вы можете сканировать все изображения и вычислять хеш для каждого.

Позже, когда пользователь отправляет изображение для поиска, вы тоже вычисляете хеш для этого и ищите то же самое.хэш в вашей базе данных.

Однако это действительно упрощенный подход, который будет работать только при поиске точных копий изображений.В идеале каждое изображение должно быть преобразовано в некоторый упрощенный набор функций (чтобы иметь допуск к различным версиям одного и того же изображения - к различным форматам, размерам, шуму и т. Д.), Используемым для сравнения.Например, возможно, стоит попытаться преобразовать изображения (как сканированные, так и отправленные для поиска) в оттенки серого размером 128x128 и вычислить его хеш.

...