Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Распознавание образов


Автор: SoWa 20.12.2006, 20:50
Когда то в 9 классе нам читали лекцию о том, как устроен FineReader.
Суть такова. Буква шифруется в матрицу 5*3, к примеру по начертанию. Буква А
010
101
111
101
101
Затем несколько букв объединяются в общую матрицу. Когда сосканировали букву, делаем что-то с её матрицей и марицей, содержащей в себе несколько букв и получаем результат- какая это буква.

Необходима информация на эту тему, желаетельно доступным языком.
PS Я докажу преподу, что первокурсники- тоже люди!

Автор: podval 21.12.2006, 19:11
Цитата(SoWa @  20.12.2006,  20:50 Найти цитируемый пост)
Затем несколько букв объединяются в общую матрицу.

Что имеется ввиду?

Автор: Romikgy 21.12.2006, 19:25
Цитата(SoWa @  20.12.2006,  19:50 Найти цитируемый пост)
Я докажу преподу, что первокурсники- тоже люди!

А что именно ему доказать нужно?

Я на все 100% не знаю как работает 
Цитата(SoWa @  20.12.2006,  19:50 Найти цитируемый пост)
FineReader.

имхо , вообще мало кто знает,
но мне кажется что все не так просто

Автор: SoWa 21.12.2006, 21:05
Цитата

Что имеется ввиду?

Ну, имеем матрицу размера вроде 15*5(не помню точно), что при каком-то действии над этой общей матрицей и матрицей буквы, получим код буквы, который был заранее прописан. К примеру, получили 2- значит буква А. Задать можно любое значение.

Автор: Romikgy 21.12.2006, 21:22
имхо поищи инфу на тему нейроных сетей

Автор: SoWa 22.12.2006, 04:45
В том то и дело, что нейросети тут не юзаются. Все по схеме делается.
Нейросетями я занимался, но не особо удачно- даже яблоко от апельсина не всегда отличала сеть.

Автор: Romikgy 22.12.2006, 10:19
Цитата(SoWa @  22.12.2006,  03:45 Найти цитируемый пост)
Нейросетями я занимался, но не особо удачно- даже яблоко от апельсина не всегда отличала сеть. 

а я ими очень мало интересовался, но имхо там все зависит от количества элементов и количества слоев(если много слойные) ну и от обучения ее smile

Автор: W4FhLF 22.12.2006, 11:10
Цитата

Ну, имеем матрицу размера вроде 15*5(не помню точно), что при каком-то действии 


Ну может просто сравнить по маске и найти общий процент совпадений?smile

Автор: DENNN 22.12.2006, 12:05
SoWa, 
описание в первом посте имеет такое же отдаленное отношение к приктической реализации, как описание устройства апельсина к его выращиванию. ))
Если алгоритм работает/оперирует понятиями 
Цитата(SoWa @  20.12.2006,  20:50 Найти цитируемый пост)
по начертанию

то необходимо сосредоточится именно на преобразовании битмапа в векторное "начертание". Это лишь первый шаг, но он достаточно трудоемки в реализации и отладке, т.к. требует большого количества практических экспериментов. Затем идет черед совершенно другого класса алгоритмов, анализирующих взаимное положение векторных элементов и их атрибутивных свойств (цвет, яркость, вероятность точности определения положения). Этот этап в работе совершенно нелинейный и очень сложно его алгоритмизировать. Начиная от этапа классификации на виды примитыивов и поиска центральных линий/центроилов (очень хорошо здесь работает алгоритм "жука"), и заканчивая комплексным анализом локалных участков. Без хорошей проработки всех частей и оригинальных идей  smile  получить надежно работающий мехнизм крайне сложно. Обращаю внимание, между распознаванием одной четкой буквы и распознаванием реального текста работы на несколько лет ))


Автор: SoWa 22.12.2006, 17:26
Так. Кажется я нашел человека, у которого эта лекция сохранилась. Прочитаю, напишу алгоритм вам.

Автор: DENNN 22.12.2006, 17:41
С удовольствием почитаем. Только есть смутные сомнения что это практическое руководство, ане теоретические измышления ....

Автор: Romikgy 22.12.2006, 17:59
Цитата(SoWa @  22.12.2006,  16:26 Найти цитируемый пост)
Прочитаю, напишу алгоритм вам. 

дафай интересно почитать

Автор: SoWa 22.12.2006, 21:06
Нет, там именно суть распознавания.

Автор: podval 22.12.2006, 21:29
Скорей всего, дискриминантный анализ. Только с "общей" матрицей ты, наверное, что-то забыл smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)