
- •Содержание
- •Введение
- •1 Описание проблемной области
- •1.1 Бинаризация изображения
- •2 Постановка задачи
- •3 Описание используемых алгоритмов и подходов
- •3.2 Алгоритм поворота изображения
- •3.5 Формирование информативных признаков для распознавания
- •4 Программная реализация
- •4.1 Схема программного обеспечения
- •4.2 Описание разработанных классов, функций, методов
- •4.3 Тестовый пример и руководство пользователя
2 Постановка задачи
В ходе выполнения курсового проекта необходимо реализовать приложение, которое должно распознавать ноты на сканированном изображении, воспроизводить распознанные ноты, а также определять длину звучания ноты.
Исходными данными для программы является сканированное изображение нотного стана.
Ограничения:
Формат изображения - *bmp;
Ноты должны относиться к первой октаве;
Распознаются только 7 основных нот;
Длительность ноты может составлять целую, одну вторую, одну четвертую либо одну восьмую;
Размер изображения не должен превышать 1000 х 1000 пикселей;
На вход Персептрону изображения должны подаваться одного размера и не превышать 70 х70 пикселей.
Требуется реализовать следующие этапы:
поворот изображения;
бинаризация изображения;
сегментация изображения, т.е выделение нотного стана;
выделение скрипичного ключа;
распознавание нот и их воспроизведение;
вырезание ноты;
масштабирование;
определение длины ноты с помощью нейросети Персептрон.
Среда разработки приложения – Microsoft Visual Studio 2010.
Тип приложения – Windows Form Application.
Операционная система – Windows 7.
Функциональные схемы приложения в формате IDEF приведены на рисунках 2.1 , 2.2 и 2.3).
Рисунок 2.1 - Схема IDEF (первый уровень)
Рисунок 2.2 - Схема IDEF (второй уровень)
Рисунок 2.3 - Схема IDEF (третий уровень)
3 Описание используемых алгоритмов и подходов
3.1 Алгоритмы бинаризации изображения
3.1.1. Бинаризация по порогу
Так как бинарное изображение легче поддается обработки, то требуется реализовать метод бинаризации загруженного изображения по порогу. Блок – схема данного метода представлена на рисунке 3.1.1.1
Рисунок 3.1.1.1 – Блок-схема алгоритма бинаризации изображения пороговым методом
Цвет пикселя на итоговом изображении рассчитывается согласно формуле:
где
-
цвет пикселя на исходном изображении,
-
цвет пикселя на новом изображении,
-
пороговое значение.
Рисунок 3.1.1.2 – Результат бинаризации
3.1.2 Бинаризация по площади
Для каждого элемента изображения, который является центром некоторой окрестности,
Вычисляется среднее и дисперсия по этой окрестности. Присвоение значения выходному
Элементу выполняется по правилу:
Q(i,j) = 1 , если A(i,j) < (S(i,j) + 0,3 D(i,j));
Q(i,j) = 0 , если A(i,j) >= (S(i,j) + 0,3 D(i,j)) ,
Где A(i,j) – значение яркости элемента исходного изображения;
Q(i,j) – значение бинарного изображения;
S(i,j) – значение среднего в зоне анализа исходного изображения;
D(i,j) – значение дисперсии в зоне анализа исходного изображения.
Результат бинаризации представлен на рисунке 3.1.2.1.
Рисунок 3.1.2.1 - Результат бинаризации по площади
Если сравнить результаты бинаризации по порогу и по площади, то можно заметить, что бинаризация по порогу выполнена качественнее. Также бинаризация по порогу более удобна для пользователя, так как имеется самостоятельная возможность настроить изображение.