стартерНаггетс.Талант/пост/692430…, воспроизводится и указывается источник
GitHub
Прямо к делу, помнитезвездаАх
окончательные визуализации
Идеи дизайна
Среда программирования проекта — python3.7.7, а компилятор использует pycharm2019.3.4 x64. Во-первых, разработайте интерфейс GUI для проекта. В интерфейсе есть четыре кнопки, а именно "Выбрать изображение", "Улучшение изображения", "Уточнение" и "Извлечение и описание функций". Нажимайте кнопки по порядку, и каждая шаг завершен. , результаты обработки будут отображаться под кнопкой, а окончательное описание функции будет отображаться в нижнем правом текстовом поле.
улучшение изображения
- нормализация изображения
Поскольку разные изображения отпечатков пальцев имеют большие различия в распределении изображений в градациях серого, это увеличит сложность последующего извлечения и сопоставления признаков изображения.Поэтому изображения отпечатков пальцев должны быть нормализованы, чтобы преобразовать все изображения в стандартное изображение с заданным средним значением и дисперсией. Нормализация не изменяет резкость гребней и впадин отпечатка пальца, а результатом является уменьшение разницы в значении серого между разными изображениями отпечатка пальца и подготовка их к последующей обработке изображения. Формула нормализации выглядит следующим образом:
в формулеи– изображения до и после нормализации соответственно,,- предустановленная средняя шкала серого и среднеквадратическая ошибка изображения,и- среднее значение в оттенках серого и дисперсия исходного изображения.
- Оценка поля направления
Поле направления отражает направление гребней на изображении отпечатка пальца, и его точность напрямую влияет на эффект улучшения изображения. В соответствии с характеристикой, согласно которой направление гребней в основном соответствует локальной области, изображение отпечатка пальца сначала делится на блоки, затем вычисляется направление гребней каждого подблока, и, наконец, направление используется для представления направление каждого пикселя в соответствующем подблоке. Использование этого метода для поиска поля направления отпечатка пальца имеет высокую эффективность и не подвержено влиянию небольшого количества шума изображения Конкретный алгоритм выглядит следующим образом:
-
Разделите нормализованное изображение наЗатем используйте оператор Собеля для вычисления значения градиента в горизонтальном направлении каждого пикселя в блоке.и значение градиента в вертикальном направлении.
-
Вычислите центральную точку какУгол направления ребра подблока, длина стороны которого равна w, формула выглядит следующим образом:
Поле ориентации изображения отпечатка пальца
- Оценка частотного поля
В локальной неособой области изображения отпечатка пальца, рассматриваемой вдоль направления, перпендикулярного линии хребта, значения серого точек пикселей на линии хребта и линии впадины отпечатка пальца примерно образуют двумерную синусоиду, а частота гребня определяется как две смежные обратные величины числа пикселей между пиками или впадинами. Получают частотные значения этих непересекающихся локальных областей и формируют структуру поля в соответствии с положением каждой области, которая называется частотным полем отпечатка пальца. Предполагатьпредставляет нормализованное изображение,— поле направления отпечатка, а алгоритм следующий:
На основе полученного поля направлений значения серого всех пикселей в каждом блоке проецируются вдоль его вертикального направления, и проекция формирует одномерную синусоиду, крайние точки которой соответствуют гребням и впадинам отпечатка пальца. предполагаемыйКак среднее количество пикселей между двумя соседними пиками приведенной выше одномерной синусоиды, частота.
- Габор фильтрация
После определения ориентации и частотных полей изображения отпечатка эти параметры можно использовать для построения четно-симметричных фильтров Габора. Фильтр Габора представляет собой полосовой фильтр со свойствами избирательности по направлению и частоте и может обеспечить наилучшее сочетание временной и частотной областей. Четный симметричный фильтр Габора имеет следующий вид в пространственной области:
В формуленаправление фильтра,- частота гребня,Указывает ось координатУгол поворота против часовой стрелки,,и, — константы огибающей Гаусса по осям x и y соответственно.
Исходное изображение и изображение после улучшения изображения
Извлечение скелета
Извлечение скелета изображения на самом деле заключается в извлечении контура центрального пикселя цели на изображении и уточнении цели на основе центра цели. Как правило, целью после уточнения является ширина однослойного пикселя. Прореживание удаляет некоторые точки из исходного изображения, но сохраняет исходную форму. На самом деле сохраните скелет исходного изображения. Чтобы судить о том, можно ли удалить точку P или нет, в качестве критерия используется условие 8 соседних точек. Конкретный критерий:
-
Внутренние точки не могут быть удалены
-
Выбросы не могут быть удалены
-
Конечная точка не может быть удалена
-
Если P является граничной точкой, после удаления P, если компонент связности не увеличивается, то P можно удалить
Извлечение скелета
Извлечение и представление признаков отпечатков пальцев
Элементы, выбранные в этом проекте, являются конечными точками и точками бифуркации изображения отпечатка пальца. Элементы описываются как положение характерной точки и наклон касательной линии хребта в характерной точке. Положение представляет собой абсциссу и вертикаль характерная точка на изображении. Координата, в конечной точке 1 наклон по касательной, а в точке бифуркации 3 наклона по касательной.
- конечная точка
Если точка бинарного изображения после извлечения скелетаявляется черным пикселем, и его восемь полей имеют один и только один черный пиксель, а остальные семь являются белыми пикселями, то точкаявляется конечной точкой, алгоритм извлечения и представления функции конечной точки выглядит следующим образом:
-
Пройдите точки пикселей бинарного изображения, извлеченного скелетом в соответствии с приведенным выше определением, и найдите все конечные точки, соответствующие определению;
-
Удалите конечные точки края изображения отпечатка пальца, поскольку собранные отпечатки пальцев имеют края, конечные точки края не могут рассматриваться как конечные точки отпечатка пальца и должны быть устранены. Метод заключается в том, чтобы увидеть, является ли одна сторона строки и столбца, где расположена конечная точка, полученная на шаге 1, полностью белыми пикселями.Если это так, она оценивается как край и удаляется, в противном случае она оценивается как внутренняя конечная точка и зарезервирована;
-
вдоль конечной точкиЛиния хребта, где она расположена, ищет точки, которые находятся на расстоянии 4 пикселя от конечной точки., если линия хребта обрывается в пределах 5 шагов или встречается с точкой бифуркации, то конечная точкаотбраковка, этот шаг используется для отбраковки выбросов и подготовки к вычислению наклона касательной к конечной точке;
-
Конечная точка с шага 3и точки, разделенные 4 пикселями, рассчитать наклон касательной линии конька, формула выглядит следующим образом:
- точка бифуркации
Если точка бинарного изображения после извлечения скелетаявляется черным пикселем, а его восемь полей имеют 3 черных пикселя, а остальные 5 — белые пиксели, то точкаявляется конечной точкой, алгоритм извлечения и представления функции конечной точки выглядит следующим образом:
-
Пройдите точки пикселей бинарного изображения, извлеченного скелетом в соответствии с приведенным выше определением, и найдите все точки бифуркации, соответствующие определению;
-
Согласно шагу 1 некоторые точки бифуркации могут получить 2 точки, близкие друг к другу на уровне пикселей, и одну из них нужно исключить. Если мы получим две точки бифуркации на рисунке ниже, они на самом деле будут одинаковыми макроскопически. Принцип отбраковки в проекте — это точка бифуркации, где соседние черные пиксели находятся близко друг к другу, поэтому на следующем рисунке первый из них исключается, а второй сохраняется;
Две точки бифуркации расположены близко друг к другу на уровне пикселей
-
вдоль конечной точки3 линии хребта, где он расположен, находят 3 точки, отстоящие на 4 пикселя от конечной точки соответственно., если линия хребта обрывается в пределах 5 шагов или встречается с точкой бифуркации, то конечная точкаУстранить, подготовить к вычислению наклона касательной конечной точки;
-
Конечная точка с шага 3и 3 точки на расстоянии 4 пикселя друг от друга, рассчитайте наклоны касательных трех линий хребта в точке бифуркации, формула выглядит следующим образом:
Извлечение признаков и описание изображения отпечатка пальца
Ссылаться на
Простая обработка изображений Python (16) Уточнение изображений (извлечение скелета)
Улучшение изображения отпечатков пальцев на основе фильтра Габора
Исследование алгоритма улучшения отпечатков пальцев
Исходный код идентификации отпечатков пальцев (2) — извлечение характерных точек