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

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?ов". Общая схема персептрона представлена на рисунке 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 Окно программы с открытым изображением