|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
||
Трудность в реализации алгоритма распознавания подписи30.11.2011, 13:42. Показов 3552. Ответов 9
Метки нет (Все метки)
Приветствую всех. Делаю курсовой проект на тему "Распознавание рукописной подписи".
Смысл таков: Загружаю изображение подписи (фото\скан). Произвожу перевод в полутоновое. Далее из полутонового в бинарное (бинаризация) После на некоторых изображениях остаются лишние пиксели (выделены красным) Потом произвожу расширение исходного изображения. После чего с помощью метода поиска в ширину, выделяют отдельные объекты (для данного изображения их 5: 4 объекста с лишними пикселями, и 1 объект - это сама подпись). Далее строим Bounding Rectangle для каждого из этих объектов. И удаляем те объекты, у которых число белых пикселей < числа черных. Так вот, нужна помощь в реализации метода поиска в ширину. Описание метода:
0
|
||
| 30.11.2011, 13:42 | |
|
Ответы с готовыми решениями:
9
Реализация алгоритма цифровой подписи ECDSA на основе эллиптической кривой в форме Эдвардса
Нужен пример реализации алгоритма шифрования DES |
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|
| 30.11.2011, 16:14 | |
|
Чет мне кажется в корне ошибочный подход,учитывая что подпись может быть прерывистой, простой линией и т.п, особенно неверное решение с "удаляем те объекты, у которых число белых пикселей < числа черных".
Во первых должны быть образцы подписи, т.к иначе и точка - подпись. Имея образец можно уже последовательно накладывать его на разные участки источника , и там уже применять алгоритмы сравнений изображения. Ну и поскольку подпись не бывает 100% одинаковой то можно говорить только о процентном совпадении. - т.е будет несколько вариантов удовлетворяющих заданной точности.
0
|
|
|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
|
| 30.11.2011, 18:24 [ТС] | |
|
У меня проблемы с подготовкой подписи к распознаванию. Проверяться работа программы будет на нескольких вариантах двух подписей, фото одной есть на скрине, вторая тоже всяких разрывов. распознавать планирую по углу наклона дуг и по их количеству.
А почему ошибочный подход, впринципе всё логично выглядит: Подпись нарисована для примера
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|
| 30.11.2011, 19:57 | |
|
Ну потому что подпись это не сплошная линия, это может быть что угодно, например простой набор символов. Поэтому никакие графы тут не помогут. К тому же у одной и той-же подписи могут быть разные размеры и очертания. Поэтому берем образец (а лучше целый перечень образцов для более точного поиска), последовательно накладываем его на разные участки отсканированного изображения, применяем алгоритмы сравнения пиксельных изображений с учетом погрешности, сдвигаемся на следующий участок и тд., если не нашли - масштабируем образец и повторяем операцию. , до тех пор пока не выйдем за определенные пределы или не найдем подходящий образец.
1
|
|
|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
|
| 02.12.2011, 11:34 [ТС] | |
|
Ладно, с этим потом. Как от лишних пикселей(шумов) посоветуете избавится?
0
|
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
|
|
| 02.12.2011, 18:01 | |
|
А кто сказал что этот пиксель лишний ? ) - может это подпись такая разбросанная...
поэтому опять же на основе образцов., если 80% совпадает то можно считать что подпись, остальное шум.
0
|
|
|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
|
| 02.12.2011, 19:32 [ТС] | |
|
Образцов будет 5, 10, 20. Суть в том что нужно программу сначала обучить (реализовав алгоритм персептрона), а после только распознавать. Я же не могу перебирать все образцы. Т.к. каждый имеет размер к примеру 1024х768, потом смещать по 1 пикселю, потом маштабировать... уж оч много времени уйдт по циклам бегать.
Да и пробинаризировать изображение может по разному. В одном случае шумов не будет вообще, в другом они будут приличными в двух нижних углах. И что тогда процент при совмещении явно уменьшится. Я знаю конкретно, что подпись будет в центре. По бокам - могут быть шумы. Даже если я обрежу точку (которая может быть частью подписи) ничего страшного, т.к. в качестве информативных объектов буду использовать количество дуг в подписи, и угол наклона между первой и последней дугой.
0
|
|
|
2741 / 1667 / 268
Регистрация: 19.02.2010
Сообщений: 4,411
|
|
| 03.12.2011, 22:34 | |
|
StaFox, Как от лишних пикселей(шумов) посоветуете избавится?
Эрозия (операция морфологической фильтрации) как самое простое. Поэтому берем образец (а лучше целый перечень образцов для более точного поиска), последовательно накладываем его на разные участки отсканированного изображения, применяем алгоритмы сравнения пиксельных изображений с учетом погрешности, сдвигаемся на следующий участок и тд. На курсовой - пойдёт ![]() В реальной работе или в науке - за такое убиваю особо садистским способом. Дофига ПРОСТЫХ способов обеспечить распознавание, инвариантное к сдвигам объекта на изображении - например, использование сдвиговых автокорреляторов, использование квадратов двумерных спектров (Фурье, Радона,..),... В каждом втором учебнике по распознаванию изображений... ужно программу сначала обучить (реализовав алгоритм персептрона) Вот только у Вас параметров (коэффициентов) в персептроне будет больше, чем эталонных картинок с подписями. При 1024х768, грубо говоря, будет почти 2 миллиона коэффициентов - и несколько десятков образцов подписей. Недоопределенная система уравнений получается ![]() Правда, на курсовой - сойдёт
1
|
|
|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
|
| 04.12.2011, 13:17 [ТС] | |
|
VTsaregorodtsev, тоже решил фильтрацию с помощью эрозии делать.
Спасибо. Буду пробывать.
0
|
|
|
2 / 2 / 1
Регистрация: 27.03.2009
Сообщений: 52
|
|
| 12.12.2011, 20:27 [ТС] | |
|
Здравствуйте, не могли бы Вы мне помочь разобраться в реализации алгоритма персептрона, который будет использоваться для распознавания подписи. До этого реализовывал персептрон для распознавания однопиксельных букв.
Допустим А-элементов будет 40. Число классов - 2. Подаваемое изображение для распознавания будет размером 1024х768. В качестве признаков использую соотношение высоты к ширине подписи, число дуг и число перегибов Т.е. мне нужно сформировать таблицу T взаимосвязи размером 40 на 786432 элементов. Где в каждой строке один элемент будет равен 1 или -1, остальные 0. Всё верно? Далее я суммирую всё элементы (T[i,j]*Img[i,j]), и т.д. и т.п. Только в качестве весовых коэффициентов буду использовать свои признаки, так?
0
|
|
| 12.12.2011, 20:27 | |
|
Помогаю со студенческими работами здесь
10
Зачем в реализации алгоритма Rijndael сравнение с 0x80? Программа реализации алгоритма нахождения определителя 3го порялка Нужен пример реализации алгоритма шифрования AES-128 Алгоритм распознавания подписи [Статья] Проверка электронной цифровой подписи Authenticode. Часть 2. Описание реализации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|