Comments 20
numpy ускорит это на порядок, если не больше. Советую попробовать, хотя бы для себя.
Реализация совсем в лоб. Смазанные линии должны, по данному алгоритму, сильно портить картину, как мне кажется.
Реализация совсем в лоб. Смазанные линии должны, по данному алгоритму, сильно портить картину, как мне кажется.
+2
Замечания по коду — код ужасен выглядит не очень. Например, переписанный мной фрагмент (найдите отличия):
Советую также использовать enumerate, «return (match,all)» можно заменить просто на «return match, all», а такой код:
Впрочем, алгоритм описан хорошо. Спасибо!
def tmpDelete(img): # Вызов функции скелетизации, на входе список списков (после бинаризации)
w = len(img)
h = len(img[0])
count = 1
while count: # Повторять пок удалялся хотя бы один пиксель
count = delete(img, w, h)
if count:
delete2(img, w, h)
def delete(img, w, h): # Удаление пикселя по основному набору, возврат количества удаленных
count = 0
for i in xrange(1, h-1):
for j in xrange(1, w-1):
if not img[j][i] and deletable(img,j,i):
img[j][i] = 1
count += 1
return count
Советую также использовать enumerate, «return (match,all)» можно заменить просто на «return match, all», а такой код:
Впрочем, алгоритм описан хорошо. Спасибо!
+7
Спасибо за статью. Однако, остался неосвещенным важный вопрос — насколько хороши результаты сравнения Вашей программой?
Я в свое время для похожей цели использовал библиотеку LibFPrint. И JNI, чтобы вызывать сравнение из Java. Качеством сравнения был вполне удовлетворен.
LibFPrint заодно берет на себя всю работу по взаимодействию с устройством(ограниченный список драйверов). Если кому-то интересно, могу выложить проект. Или написать статейку, в которой расковырять библиотеку NBIS и алгоритм bozorth3.
Я в свое время для похожей цели использовал библиотеку LibFPrint. И JNI, чтобы вызывать сравнение из Java. Качеством сравнения был вполне удовлетворен.
LibFPrint заодно берет на себя всю работу по взаимодействию с устройством(ограниченный список драйверов). Если кому-то интересно, могу выложить проект. Или написать статейку, в которой расковырять библиотеку NBIS и алгоритм bozorth3.
0
на образцах по ссылке вполне приемлемые результаты, отпечаток повернутый на 10 градусов — 84%
разные отпечатки 52%, при использовании простого отношения «совпадения/все точки» (рекомендуется же использовать «совпадения в квадрате / (все точки эталона * все точки проверяемого)»)
разные отпечатки 52%, при использовании простого отношения «совпадения/все точки» (рекомендуется же использовать «совпадения в квадрате / (все точки эталона * все точки проверяемого)»)
0
UFO just landed and posted this here
Может перенести в блог «Обработка изображений»? А то к информационной безопасности отпечатки пальцев, по-моему, никакого отношения не имеют.
-1
Размещение вполне уместно. Биометрия — один из методов аутентификации, которая имеет прямое отношение к информационной безопасности
+1
UFO just landed and posted this here
UFO just landed and posted this here
Я дал ссылку, где написано, «как в домашних условиях быстро снимать отпечатки пальцев». Если нужно считывать отпечатки пальцев, то это делается сканером. Иначе это вопрос из серии «как подключить к компу монитор, не имея монитор?».
Или так:
— качаем программу распознования лиц;
— подключаем к компу сканер (обычный);
— лочим комп;
— для разблокировки подносим морду лица к сканеру;
— если лицо рапознано — анлок.
— профит!
Да, несекьюрно, зато прикольно :)
Или так:
— качаем программу распознования лиц;
— подключаем к компу сканер (обычный);
— лочим комп;
— для разблокировки подносим морду лица к сканеру;
— если лицо рапознано — анлок.
— профит!
Да, несекьюрно, зато прикольно :)
0
как быть с муляжами и мертвыми пальцами?
0
Это уже не дело алгоритмов распознавания, как правило это ложиться на «железные» компоненты систем. Например, сканер отпечатков могут дополнить термодатчиком.
+1
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.
Методы распознавания отпечатков пальцев и реализация средствами Python