
- •Реферат
- •Содержание
- •Введение
- •Постановка задачи курсового проектирования
- •Теоретический анализ
- •Описание алгоритма
- •Коррекция яркости
- •Избавление от шума камеры
- •Повышение резкости границ
- •Бинаризация
- •Сегментация
- •Распознавание
- •Описание разработанного приложения
- •Обзор приложения
- •Руководство пользователя
- •Тестирование
- •Заключение
- •Список использованных источников
-
Избавление от шума камеры
Для избавления от шума камеры был реализован медианный фильтр третьего порядка с маской 3х3.
Алгоритм медианной фильтрации:
1. Для каждой точки исходного изображения берется некоторая окрестность 3x3.
2. Точки данной окрестности сортируются по возрастанию яркости.
3. Средняя точка (5-я для фильтра 3х3) отсортированной окрестности записывается в итоговое изображение.
-
Повышение резкости границ
Фильтр подчеркивания границ накладывается на каждый пиксель изображения. Полученное число является яркостью соответствующего пикселя в новом изображении.
В данном примере в качестве маски была использована следующая матрица:
Это объясняется на рисунке 2.
Рисунок 2 – Повышение резкости границ
Профильтрованное изображение подвергается процедуре бинаризации и передается на сегментацию, где и происходит непосредственное распознавание символов.
-
Бинаризация
Операция порогового разделения, которая в результате дает бинарное изображение, называется бинаризацией. В процессе бинаризации исходное полутоновое изображение, имеющее некое количество уровней яркости, преобразуется в черно-белое изображение, пиксели которого имеют только два значения 255 (белый) и 0 (чёрный).
Для лучшей бинаризации было использовано два порога бинаризации.
и
Здесь G – уровень яркости серого изображения;
G1, G2 – уровни яркости, полученные после прохождения первого и второго порогов бинаризации соответственно;
Lширина, Lвысота – ширина и высота изображения (в пикселях).
-
Сегментация
Алгоритм поиска точки, подозрительной на принадлежность символу:
1. Стартовой становится самая левая вертикальная линия пикселей.
2. Начиная от верхнего пикселя, спускаемся вниз, пока не встретим белый пиксель. Так мы получаем верхнюю границу области поиска.
3. Начиная от нижнего пикселя, поднимаемся вверх, пока не встретим белый пиксель. Так мы получаем нижнюю границу области поиска.
4. В выделенной области поиска ищем первую попавшуюся черную точку. Если таковой не найдется, то текущей становится следующая линия по направлению вправо. Переходим на шаг 2.
5. Найденная точка передается алгоритму выделения символа.
-
Распознавание
Из положения символа на номере становится ясно буква это или цифра. Поэтому для символа получаем значения его оценок для цифры или буквы соответственно. Принимаем решение в пользу символа с максимальной оценкой.
Эталоны символов хранятся в матрицах. Черный пиксель отмечается единицей. Фоновые пикселям соответствуют ячейки с записанными в них расстояниями до ближайшего черного пикселя со знаком минус. Расстояние считается по одной из следующих формул:
или
где x, y − модули смещений до ближайшей черной точки.
Пример показан на рисунке 3.
Рисунок 3 − Пример эталона буквы «Р»
Вычисление оценки происходит следующим образом. Растр символа трансформируется до размеров эталона, и они накладываются друг на друга. Соответствующие черным пикселям символа значения в ячейках эталона суммируются. Появление точки в ячейке символа, далекой от ближайшей черной точки в эталоне, существенно снижает значение оценки (рисунок 4).
Рисунок 4 − а) оценка для символа «P» равна 15, б) оценка для символа «B» равна 6
Пункты 3.5 и 3.6 данного алгоритма реализованы не были.