288386 (Распознавание графических символов)

2016-07-30СтудИзба

Описание файла

Документ из архива "Распознавание графических символов", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "288386"

Текст из документа "288386"

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПОСТАНОВКА ЗАДАЧИ

2. ОПИСАНИЕ ИСПОЛЬЗОВАННЫХ АЛГОРИТМОВ

2.1 Алгоритм сегментации текста

2.2 Алгоритм распознавания слова. Персептрон

3. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПО

3.1 Архитектура программы

3.2 Интерфейс программы

3.3 Описание разработанных классов

4. ТЕСТИРОВАНИЕ ПО

4.1 Запуск приложения

ВЫВОДЫ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ A ЛИСТИНГ ПРОГРАММЫ

ОПИСЬ ЛИСТОВ ГРАФИЧЕСКОЙ ЧАСТИ

ВВЕДЕНИЕ

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

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

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

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

Но возникает ряд трудностей и проблем. Чаще всего это связано с тем, что изображения предъявляются на сложном фоне или изображения эталона и входные изображения отличаются положением в поле зрения, или входные изображения не совпадают с эталонами за счет случайных помех.

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

Приложение реализовано в среде программирования MS Visual Studio 2008 на языке C#. Платформа .Net дает широкий набор классов для работы с изображениями и обработки результатов.


1. ПОСТАНОВКА ЗАДАЧИ

Согласно заданию к курсовому проекту необходимо спроектировать приложение, реализованное на языке C# в среде разработки Microsoft Visual Studio 2008, реализующее распознавание слова "Указ" на изображении документа.

Исходные данные:

  1. Растровое изображение документа.

  2. Текст документа должен быть написан на белом фоне, черным шрифтом.

  3. Шрифт текста не должен быть курсивным либо полужирным.

  4. Размер изображения может быть любым.

  5. Положение текста на изображении горизонтальное.

Приложение должно выполнять следующие задачи:

  1. Загрузка изображения в приложение.

  2. Сегментация текста на слова.

  3. Распознавание среди слов слово "Указ".

Выходные данные:

  1. Таблица найденных слов "Указ".


2. ОПИСАНИЕ ИСПОЛЬЗОВАННЫХ АЛГОРИТМОВ

2.1 Алгоритм сегментации текста

Процесс сегментации текста состоит из двух этапов: выделение строк текста и выделение слов в строках.

Поиск строк осуществляется путем просмотра пикселей изображения сверху вниз. При проходе запоминаются вертикальные координаты всех полностью белых полос на изображении (рисунок 2.1).

Рисунок 2.1 – Разбиение текста на строки

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

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

Алгоритм сегментации текста представлен в графической части

2.2 Алгоритм распознавания слова. Персептрон

Распознавание слова "Указ" в разработанном приложении, реализовано на базе персептрона. Алгоритм обучения персептрона – без учета правильности ответа. Персептрон построен по схеме "Несколько сумматоров". Общая схема персептрона представлена на рисунке 2.2

Рисунок 2.2 – Схема персептрона с несколькими сумматорами

Каждый А-элемент имеет несколько входов и один выход.

А-элементы производят алгебраическое суммирование сигналов, поступивших на их входы, и полученную сумму сравнивают с одинаковой для всех А-элементов величиной ϑ. Если сумма больше ϑ, А-элемент возбуждается и выдает на выходе сигнал, равный единице. Если сумма меньше ϑ, А-элемент остается невозбужденным и выходной его сигнал равен нулю. Таким образом, выходной сигнал j-го Α-элемента:

yj =

где величина rij принимает значение +1, если i -й рецептор подключен ко входу j-го Α-элемента со знаком плюс; и значение -1, если рецептор подключен со знаком минус, и значение 0, если i-ый рецептор к j-му Α-элементу не подключается (j = 1, 2, …, m, где m – число Α-элементов).

Выходные сигналы Α-элементов умножаются на переменные коэффициенты λj.

После умножения на λ выходные сигналы поступают на сумматоры Σ, количество которых также равно числу различаемых образов.

σ =

Предъявленный объект относится к тому образу, сумматор которого имеет наибольший сигнал.

В данной работе есть два распознаваемых класса условно из можно обозначить "Указ" и "Не указ". При обучении класса "Указ" на вход персептрона поступают изображения слова "Указ" написанное разными шрифтами. При обучении класса "Не указ", для повышения надежности работы персептрона, поступают те же изображения с текстом "Указ", но с инвертированными цветом.

В каждом такте персептрон отвечает на предъявленный ему объект возбуждением некоторых А-элементов. Обучение состоит в том, что коэффициенты λj возбужденных в данном такте А-элементов увеличиваются на некоторую величину (например на единицу), если в этом такте был предъявлен объект образа А, и уменьшается на эту же величину, если был предъявлен объект образа В.



3. РАЗРАБОТКА И РЕАЛИЗАЦИЯ ПО

3.1 Архитектура программы

Программа написана как проект Windows Forms Application, т.е. windows-приложение, графический интерфейс которого представлен формами и диалоговыми окнами. Структура разработанного проекта представлена на рисунке 3.1.

Рисунок 3.1 – Структура проекта

Приложение разработано на принципах ООП. Диаграмма разработанных классов представлена на рисунке 3.2

Рисунок 3.2 – Диаграмма классов приложения

Общая схема приложения в натации IDEF0 приведена на рисунке 3.3.

Рисунок 3.3 – Общая схема IDEF0 приложения

3.2 Интерфейс программы

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

Рисунок 3.4 – Главная форма приложения в режиме проектирования

3.3 Описание разработанных классов

Ниже представлен перечень классов разработанных в приложение с кратким описанием их назначения и описанием основных методов.

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

Segmentation – описывает процесс сегментации изображения.

Методы:

public static List GetStrings(Bitmap text) – выделение растров, соответствующих строкам текста;

public static List GetStringWords(Bitmap str) – сегментирование одной строки на слова;

public static List GetWords(Bitmap text) – выделение слов из всего текста;

public static Bitmap TrimBitmap(Bitmap bmp) – обрезка белых полей вокруг изображения на битмапе.

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

Методы :

public void Teach(Bitmap b, int classindex) – обучение персептрона;

public string Recognize(Bitmap b) – распознавание изображения b;

public void SerializeParams() – сохранение параметров персептрона на диске;

public void DeserializeParams() – чтение параметров персептрона с диска;

public static Bitmap NormalizeBitmap(Bitmap b, Size sz) – подгонка битмапа b по размеру sz. На выходе бинаризованное изображение размера sz;

public static Bitmap InverseBitmap(Bitmap b) – инверсия цвета изображения b.


4. ТЕСТИРОВАНИЕ ПО

Требования к установленному ПО:

- .Net Framework 3.5

Целью проведения испытаний является проверка работоспособности (надежности) программы при различных условиях ее функционирования и настройках. Для демонстрации работоспособности программы необходимо провести ряд испытаний с различными начальными условиями.

Тестовые примеры выполнялись в среде операционной системы Windows 7 Ultimate при использовании процессора AMD Athlon 3600+ 1.9 ГГц, 1 Гб RAM и разрешении экрана 1280x1024.

Приложение подверглось критическому и углубленному тестированию.

При проведении критического тестирования не было выявлено ошибок и некорректной работы приложения.

4.1 Запуск приложения

Для запуска приложения необходимо запустить исполняемый файл WordSearcher.exe. Окно приложения после запуска показано на рисунке 3.4

Рисунок 3.4 – Главное окно приложения

Для начала работы необходимо загрузить исходное изображение, для чего необходимо нажать кнопку "Открыть". В диалоге выбора файла необходимо выбрать изображение. Окно программы после открытия исходного изображения представлено на рисунке 3.5

Рисунок 3.5 – Окно программы с открытым изображением

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4098
Авторов
на СтудИзбе
673
Средний доход
с одного платного файла
Обучение Подробнее