- •Введение
- •1. Обзор предметной области
- •1.1 Методы бинаризации
- •1.2 Способы сегментации
- •1.3 Способы распознавания
- •2. Постановка задачи
- •3. Адаптация и описание используемых алгоритмов
- •3.1 Сегментация изображения методом выделения краев
- •3.3 Выделение контуров (метод «Жук»)
- •3.4 Распознавание
- •3.2 Бинаризация пороговым методом
- •4. Программная реализация
- •4.1 Схема программного обеспечения
- •4.2 Описание функций и методов
- •4.3 Тестирование и руководство для пользователя
- •Заключение
- •Литература
4. Программная реализация
4.1 Схема программного обеспечения
Приложение разработано на языке программирования C# в среде разработки Visual Studio 2015. В этом проекте разработка происходила под OS Windows.
4.2 Описание функций и методов
Класс Recognition имеет следующие методы:
- OpenPicture – выполняет загрузку изображения;
- FindArea – позволяет получить области для распознавания;
- Binarization – выполняет бинаризацию полученных областей;
- Bug – выполняет выделение контура;
- Centering – выполняет центрирование контуров.
Класс Perseptron имеет следующие методы:
- Preparation – подготовка таблиц А-элементов и λ;
- Studying – обучение персептрона;
- SaveChanges – запись настроенных λ в XML файл.
Класс Next neighbor имеет следующие методы:
- Distance – производит расчет евклидового расстояния.
4.3 Тестирование и руководство для пользователя
После запуска приложения пользователь увидит главное окно приложения на рисунке 4.1.
Рис 4.1 – Главное окно
13
Рис 4.2 – Открытие изображения чертежа с помощью кнопки Open
Затем пользователь увидит, что изображение загружено в главное окно. Результат выполнения приведен на рисунке 4.3.
Рис 4.3 – Изображение загружено в главное окно
Далее необходимо выполнить последовательную обработку этого изображения, нажав следующие кнопки: Find Areas, Binarization, Bug, Centering.
14
Пользователь увидит в PictureBox полученные и обработанные контуры, которые осталось распознать. Это можно сделать двумя способами: с помощью персептрона, нажав кнопку Full Answer или с помощью метода ближайшего соседа, нажав Next neighbor. Также персептрон можно предварительно обучить на основании эталонов, нажав Perseptron.
Результат работы приведен на рисунке 4.4.
Рис 4.4 – Результат распознавания
Результат работы программы можно сбросить, нажав Reset и загрузить изображение чертежа снова.
15
Заключение
В процессе работы над курсовым проектом были опробованы различные методы обработки изображения и распознавания из изображения чертежа.
Было разработано приложение под OS Windows с помощью среды разработки Visual Studio 2015 на объектно-ориентированном языке программирования C#. Проанализировав полученные результаты, можно сделать вывод о том, что данная программа позволяет распознавать такие обозначения сборочного чертежа как вид и габаритные размеры на изображении чертежа.
Тестирование приложения позволило сделать следующие выводы:
1. Метод бинаризации с заданием порога подходит для перевода полутонового изображения в бинарное.
2. Персептрон работает неплохо, так как результат его работы зависит от качества бинаризации.
Разработанное приложение работает не на 100%, так как результат зависит от подаваемого на вход изображения.
Результат распознавания зависит от качества сканирования чертежа. Улучшить результат распознавания можно путем комбинирования порога бинаризации.
Разработанное приложение для оцифровки чертежей актуально в настоящее время, так как это связано с развитием систем автоматизированного проектирования, которые способны интерпретировать векторный формат. Данное приложение позволяет распознавать такие обозначения сборочного чертежа как вид и габаритные размеры, что может быть весьма полезным в случае возникновения необходимости учета этой информации в базе данных.
16
