Pull to refresh

Comments 20

numpy ускорит это на порядок, если не больше. Советую попробовать, хотя бы для себя.
Реализация совсем в лоб. Смазанные линии должны, по данному алгоритму, сильно портить картину, как мне кажется.
Замечания по коду — код ужасен выглядит не очень. Например, переписанный мной фрагмент (найдите отличия):
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», а такой код:

Впрочем, алгоритм описан хорошо. Спасибо!
Так вот, такой код:
    for i in v[1]:
        x=range(i[0]-15,i[0]+15)
        y=range(i[1]-15,i[1]+15)


Можно заменить на такой:
    for ix, iy in v[1]:
        x = xrange(ix-15, ix+15)
        y = xrange(iy-15, iy+15)
Спасибо за статью. Однако, остался неосвещенным важный вопрос — насколько хороши результаты сравнения Вашей программой?

Я в свое время для похожей цели использовал библиотеку LibFPrint. И JNI, чтобы вызывать сравнение из Java. Качеством сравнения был вполне удовлетворен.
LibFPrint заодно берет на себя всю работу по взаимодействию с устройством(ограниченный список драйверов). Если кому-то интересно, могу выложить проект. Или написать статейку, в которой расковырять библиотеку NBIS и алгоритм bozorth3.
на образцах по ссылке вполне приемлемые результаты, отпечаток повернутый на 10 градусов — 84%
разные отпечатки 52%, при использовании простого отношения «совпадения/все точки» (рекомендуется же использовать «совпадения в квадрате / (все точки эталона * все точки проверяемого)»)
UFO just landed and posted this here
Может перенести в блог «Обработка изображений»? А то к информационной безопасности отпечатки пальцев, по-моему, никакого отношения не имеют.
Размещение вполне уместно. Биометрия — один из методов аутентификации, которая имеет прямое отношение к информационной безопасности
Даже если так, то биометрия — не только аутентификация, а в первую очередь чтобы по отпечаткам пальцев преступников ловить. Защита информации — это дело второе, ИМХО.
но и к обработке изображений тоже какбы можно отнести.
наглядный пример превосходства тегов над деревом.
UFO just landed and posted this here
UFO just landed and posted this here
Я дал ссылку, где написано, «как в домашних условиях быстро снимать отпечатки пальцев». Если нужно считывать отпечатки пальцев, то это делается сканером. Иначе это вопрос из серии «как подключить к компу монитор, не имея монитор?».
Или так:
— качаем программу распознования лиц;
— подключаем к компу сканер (обычный);
— лочим комп;
— для разблокировки подносим морду лица к сканеру;
— если лицо рапознано — анлок.
— профит!
Да, несекьюрно, зато прикольно :)
как быть с муляжами и мертвыми пальцами?
Это уже не дело алгоритмов распознавания, как правило это ложиться на «железные» компоненты систем. Например, сканер отпечатков могут дополнить термодатчиком.
Несколько лет назад по работе подключал сканер. Термодатчика мало — отрезанный пальчик можно нагреть :)
Пишут, что технология защиты от мертвых пальцев каким-то образом опознает, есть ли ток крови в объекте. Думал, может вы в курсе этой технологии.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.

Articles