Есть ли какой-либо код или алгоритм распознавания подписи? - программирование
Подтвердить что ты не робот

Есть ли какой-либо код или алгоритм распознавания подписи?

Мои пользователи рисуют свою подпись в моем приложении, используя события касания, и я конвертирую его в растровое изображение. Я хочу извлечь уникальные спецификации каждой подписи и сравнить ее по своим спецификациям, хранящимся на главном сервере.

Как я могу это сделать?

Каков основной и корпоративный алгоритм для извлечения уникальных функций подписи?

Спасибо заранее,

4b9b3361

Ответ 1

Я не эксперт по компьютерному видению, но, как студент-градиент, который звучал, похоже, что особенность - это то, что вы ищете. Первое, что приходит на ум, - SIFT (Масштаб-инвариантное преобразование функций). Этот алгоритм позволит вам сравнить сохраненные функции оригинальной подписи с копиями и идентифицировать соответствие с высокой степенью точности даже в тех случаях, когда образец масштабируется или поворачивается.

С помощью простого поиска Google вы можете найти ряд научных статей, например этот или этот, который специально связан с использованием алгоритма для подписи/биометрии.

Обсуждается использование OpenCV с SIFT в этой статье.

Если есть лучшие алгоритмы зрения, о которых я не подозреваю, особенно хорошо подходят для этой проблемы, я призываю сообщество перезвонить.

Ответ 2

Попробуйте этот ресурс, который использует нейронную сеть для распознавания рукописного ввода. Попробуйте найти этот ресурс тоже, который показывает вам, как распознавать ручные цифры. Оба проекта имеют полный исходный код.

Ответ 3

Существует аналогичный вопрос: Сравнение битмапа (подписи) в С#

Я также нашел одну статью в канале9 http://channel9.msdn.com/coding4fun/blog/Contour-Analysis-for-Image-Recognition-in-C

Требуется создание сложной логики, существуют различные продукты для проверки и распознавания подписи, я нашел следующий код, написанный на vb 6.0, который может быть полезен: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=38215&lngWId=1

В двух словах это требует больших усилий, поэтому вы можете спросить клиента, если, указав какой-то уникальный код или задав вопрос, может быть выполнено требование "сопоставление подписи".

Ответ 4

Ну, вы можете преобразовать изображение в массив байтов, отправить его на свой сервер и делать все, что хотите.

Далее я поставлю несколько советов и трюков с помощью методов декодирования и кодирования, которые вы можете использовать

Здесь возникает вопрос Декодировать массив байтов в растровое изображение, сжатое в Java, о том, как декодировать массив байтов

И чтобы создать массив байтов из вашего растрового изображения, используя следующие советы: http://www.anddev.org/advanced-tutorials-f21/how-to-convert-bitmap-to-byte-array-in-android-t12985.html

Надеюсь, это поможет, Arkde