Рефераты. Система идентификации личности по отпечаткам пальцев. Подсистема анализа изображения

2.4.3.  Выходная информация

Выходной информацией является список минюций в абсолютных параметрах. Данное структурное представление на основе минюций достаточно для распознавания личности по отпечаткам пальцев. Такое представление гораздо меньше растрового по размеру, благодаря чему организуется удобное хранение и быстрая обработка. Каждый элемент массива содержит все необходимые параметры: координаты целого типа - 2х4 байта, угол направления 8 байт, тип точки 1 байт. При среднем количестве точек 50 получаем объем занимаемый одним обработанным отпечатком примерно 850 байт.


2.4.4.  Математическая постановка

Для исключения ненадежных точек определим еще одно положение локальных особенностей на входном растре.

На рис. 2.6 показан вид пореза или складки кожи, при этом выполняется следующее условие:

,                                                 (3)


Порез

D1, D2 – прилегающие области;

L1, L2 – вероятные соседние линии папиллярного узора.

Рис. 2.6

Точки, образованные порезами и инородными телами не являются минюциями и не влияют на сравнение.

Полученный список сортируется по условию:


(4)


где:    i, j    – найденные точки;

x, y – координаты минюции на растре;

a – угол направления;

T   – тип минюции (раздвоение или окончание);

D1, D2, aMin, aMax – константы (устанавливаются экспериментально).


2.4.5.  Алгоритм решения задачи

1.        Начало

2.      "i,j : i¹j Ù   выполнить Delete(Array,j), Delete(Array,i)

3.      "i,j : i¹j Ù  

4.     
выполнить Delete(Array,j), Delete(Array,i)

Конец


2.5.         Описание подпрограмм


2.5.1.  Подпрограмма NextDotCW

Подпрограмма NextDotCW производит поиска следующей точки на контуре линии «по часовой стрелке», благодаря ей организуется обход линии по контуру. Предназначена для реализации алгоритма исправления искажений и используется при поиске минюций на входном образе. Схема подпрограммы изображена на рис. 2.7.

Синтаксис:


CPoint TFingPicture::NextDotCW(const CPoint dot, int &vec)


Входные данные для данной подпрограммы представлены:

CPoint dot – структура данных – точка {x,y} от которой нужно найти соседствующую точку;

int vec – направление предыдущего перехода при поиске, vecÎ[0..7]. Служит для ускорения поиска;

COLORREF clMas[9] – массив цветов окрестных точек;

Выходные данные для данной подпрограммы представлены:

CPoint incXY[8] – координаты окрестных точек;

CPoint newDot – найденная точка, которая является смежной с точкой dot. Переход от точки dot к найденной смежной точке образует обход «по часовой стрелке».


2.5.2.  Подпрограмма NextDotCCW

Подпрограмма NextDotCCW производит поиска следующей точки на контуре линии «против часовой стрелки», благодаря ей организуется обход линии по контуру. Предназначена для реализации алгоритма исправления искажений и используется при поиске минюций на входном образе. Схема подпрограммы изображена на рис. 2.8.

Синтаксис:


CPoint TFingPicture::NextDotСCW(const CPoint dot, int &vec)


Входные данные для данной подпрограммы представлены:

CPoint dot – структура данных – точка {x,y} от которой нужно найти соседствующую точку;

int vec – направление предыдущего перехода при поиске, vecÎ[0..7]. Служит для ускорения поиска;

COLORREF clMas[9] – массив цветов окрестных точек;

Выходные данные для данной подпрограммы представлены:

CPoint incXY[8] – координаты окрестных точек;

CPoint newDot – найденная точка, которая является смежной с точкой dot. Переход от точки dot к найденной смежной точке образует обход «против часовой стрелки»

Схема подпрограммы «NextDotCW»


Рис. 2.7


Схема подпрограммы «NextDotСCW»

Рис. 2.8


2.5.3.  Подпрограмма LookPic

Подпрограмма LookPic предназначена для обработки загруженного изображения и получение из него списка папиллярных линий. Каждая линия определяется одной точкой {x,y}. Схема подпрограммы изображена на рис. 2.9.

Синтаксис:


list<TMapElDot> TAnalysePicture::LookPic()


Входные данные для данной подпрограммы представлены:

TFingPicture *pic – указатель на битовый образ в памяти, который был загружен для обработки

Выходные данные для данной подпрограммы представлены:

list<TMapElDot> Map – список папиллярных линий на растре.

Используемые переменные:

Map – список обрабатываемых линий на папиллярном узоре, каждой линии соответствует точка {x,y}.

Используемые подпрограммы:

Pic.GetPixel(x,y) – возвращает цвет пикселя с координатами {x,y} на растре pic;

ClearLine(pic,x,y) – удаление области с цветом GetPixel(x,y) на растре pic.

Схема подпрограммы «LookPic»

Рис. 2.9

Подпрограмма ChangeLine

Подпрограмма ChangeLine предназначена для модификация линии на растре, производит исправление слипаний и обрывов. Схема подпрограммы изображена на рис. 2.10.

Синтаксис:


int TAnalysePicture::ChangeLine(list<TMapElDot>::iterator _dot, list<TMapElDot> &_map)


Входные данные для данной подпрограммы представлены:

TFingPicture *pic – указатель на битовый образ в памяти, который был загружен для обработки;

list<TMapElDot>::iterator _dot – указатель на текущую обрабатываемую линию;

list<TMapElDot> &_map – список обрабатываемых линий на растре.

Выходные данные для данной подпрограммы представлены:

int changeN – произведенное количество исправлений на растре;

TFingPicture *pic – в результате обработки входной образ подвергается изменениям.

Используемые переменные:

Dot0, dot1 – точки принадлежащие контуру обрабатываемой линии. Начальное значение dot0 = _dot.

vec0, vec1 – локальные направления;

step – шаг получения последующей точки;

alphaTest – предопределенная константа, определяющая сильное искривление контура папиллярной линии.

Используемые подпрограммы:

GetVec(dot0, dot1)– направление из точки dot0 в dot1;

NextDotCW(dot0, step) – получение координат точки следующей через step точек.

Слипание и обрыв описаны в п.п. 2.2.4.

Схема подпрограммы «ChangeLine»

Рис. 2.10

 

2.5.4.  Подпрограмма ReadPic

Подпрограмма ReadPic пердназначена для поиска локальных особенностей на растре. Схема подпрограммы изображена на рис. 2.11.

Синтаксис:


TAbsFing TAnalysePicture::ReadPic(list<TMapElDot>::iterator _dot)


Входные данные для данной подпрограммы представлены:

TFingPicture *pic – указатель на битовый образ в памяти, который был загружен для обработки;

list<TMapElDot>::iterator _dot – указатель на текущую обрабатываемую линию.

Выходные данные для данной подпрограммы представлены:

TAbsFing absfing – список параметров локальных особенностей, формат описан в п.п. 2.1.3.

Используемые переменные:

Dot0, dot1 – точки принадлежащие контуру обрабатываемой линии. Начальное значение dot0 = _dot;

vec0, vec1 – локальные направления;

step – шаг получения последующей точки;

alphaTest – предопределенная константа, определяющая сильное искривление контура папиллярной линии.

Используемые подпрограммы:

GetVec(dot0, dot1)– направление из точки dot0 в dot1;

NextDotCW(dot0, step) – получение координат точки следующей через step точек.

Раздвоение и окончание описаны в п.п. 2.3.4.


2.5.5.  Подпрограмма DotsFilter

Подпрограмма DotsFilter предназначена для сортировки списка найденных локальных особенностей и выделение списка минюций. Схема подпрограммы изображена на рис. 2.12.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.