Распознавание автомобильных номеров

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    531,86 Кб
  • Опубликовано:
    2015-03-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Распознавание автомобильных номеров















ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОМУ ПРОЕКТУ

по дисциплине «Информатика»

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

Реферат

Пояснительная записка к курсовому проекту15 с.,1 ч., 8 рис.,4 источников.

РАСПОЗНАВАНИЕ, БИНАРИЗАЦИЯ, МЕДИАННЫЙ ФИЛЬТР, ЯРКОСТЬ, ШУМ КАМЕРЫ, АВТОМОБИЛЬНЫЙ НОМЕР

Предметом исследования является распознавание изображений.

Цель работы - разработка приложения, реализующего алгоритм распознавания автомобильных номеров.

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

В результате при помощи созданного приложения была получена возможность частичной реализации данного алгоритма.

Содержание

Введение

1. Постановка задачи курсового проектирования

2. Теоретический анализ

3. Описание алгоритма

3.1 Коррекция яркости

3.2 Избавление от шума камеры

3.3 Повышение резкости границ

3.4 Бинаризация

3.5 Сегментация

3.6 Распознавание

4. Опи сание разработанного приложения

4.1 Обзор приложения

4.2 Руководство пользователя

5. Тестирование

Заключение

Список использованных источников

Введение


Данная курсовая работа по дисциплине «Информатика» нацелена на разработку приложения, распознающего буквы и цифры с фотографии автомобильного номера. Помимо этого в работе решаются и промежуточные задачи, такие как коррекция яркости, избавление от шума камеры, повышение резкости границ и др.

Целью данной работы является разработка и создание приложения, способного выполнять вышеописанные задачи.

1. Постановка задачи курсового проектирования

Разработать приложение, распознающее буквы и цифры с фотографии автомобильного номера

Входной информацией является изображение (фотография) автомобильного номера.

Выходной информацией является распознанные буквы и цифры, представленные в виде текста.

2. Теоретический анализ

Распознавание автомобильных номеров осуществляется специализированной системой, предназначенной для автоматического распознавания государственных номерных знаков движущихся транспортных средств и номеров железнодорожных вагонов. Вероятность распознавания номеров автомобилей - до 98%. Система распознавания автомобильных номеров надежно работает в широком диапазоне условий освещенности и вариантов установки камер.

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

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

3. Описание алгоритма

.1 Коррекция яркости

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

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

После того, как изображение стало «серым» производится выравнивание яркости. Для этого был использован нелинейный закон (была выбрана функция арктангенса). Это сделано для того, чтобы выравнивание производилось всегда, т.к. если на изображении хотя бы одна абсолютно чёрная и белая точки, то линейное растяжение работать не будет. Такое выравнивание делает яркие пиксели ещё ярче, а тёмные темнее. Это представлено на рисунке 1.

Рисунок 1 - Коррекция яркости

3.2 Избавление от шума камеры

Для избавления от шума камеры был реализован медианный фильтр третьего порядка с маской 3х3.

Алгоритм медианной фильтрации:

. Для каждой точки исходного изображения берется некоторая окрестность 3x3.

. Точки данной окрестности сортируются по возрастанию яркости.

. Средняя точка (5-я для фильтра 3х3) отсортированной окрестности записывается в итоговое изображение.

.3 Повышение резкости границ

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

В данном примере в качестве маски была использована следующая матрица:

Это объясняется на рисунке 2.

Рисунок 2 - Повышение резкости границ

Профильтрованное изображение подвергается процедуре бинаризации и передается на сегментацию, где и происходит непосредственное распознавание символов.

3.4 Бинаризация

Операция порогового разделения, которая в результате дает бинарное изображение, называется бинаризацией. В процессе бинаризации исходное полутоновое изображение, имеющее некое количество уровней яркости, преобразуется в черно-белое изображение, пиксели которого имеют только два значения 255 (белый) и 0 (чёрный).

Для лучшей бинаризации было использовано два порога бинаризации.

 

И


Здесь G - уровень яркости серого изображения;

G1, G2 - уровни яркости, полученные после прохождения первого и второго порогов бинаризации соответственно;

Lширина, Lвысота - ширина и высота изображения (в пикселях).

3.5 Сегментация

Алгоритм поиска точки, подозрительной на принадлежность символу:

. Начиная от верхнего пикселя, спускаемся вниз, пока не встретим белый пиксель. Так мы получаем верхнюю границу области поиска.

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

. В выделенной области поиска ищем первую попавшуюся черную точку. Если таковой не найдется, то текущей становится следующая линия по направлению вправо. Переходим на шаг 2.

. Найденная точка передается алгоритму выделения символа.

3.6 Распознавание

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

Эталоны символов хранятся в матрицах. Черный пиксель отмечается единицей. Фоновые пикселям соответствуют ячейки с записанными в них расстояниями до ближайшего черного пикселя со знаком минус. Расстояние считается по одной из следующих формул:


или

фотография резкость бинаризация сегментация


где x, y − модули смещений до ближайшей черной точки.

Пример показан на рисунке 3.

Рисунок 3 − Пример эталона буквы «Р»

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

Рисунок 4 − а) оценка для символа «P» равна 15, б) оценка для символа «B» равна 6

Пункты 3.5 и 3.6 данного алгоритма реализованы не были.

4. Описание разработанного приложения

Обзор приложения

Было разработано приложение, частично реализующее алгоритм распознавания автомобильных номеров. Приложение было написано на языке С#. Есть возможность открытия изображения в любом формате. Рекомендуется открывать изображения в .bmp формате. Скриншот программы представлен на рисунке 5.

Рисунок 5 - Скриншот приложения.

.1 Руководство пользователя

Данный раздел приводится для ознакомления с работой приложения. Для работы программы требуется .NET Framework v4.0. Для того, чтобы начать обрабатывать изображение пользователю нужно открыть изображение, нажав кнопку «Open file».

Построить гистограмму изображения можно нажав кнопу «Histogram». Кнопка «Median filter» осуществляет медианную фильтрацию. Кнопка «Edge» повышает резкость границ изображения.

Так как алгоритм нужно осуществлять только в одном порядке, то эти кнопки становятся видимыми последовательно, и вновь становятся неактивными после нажатия.

5. Тестирование

Был протестирован каждый этап выполнения алгоритма.

На рисунке 6 представлены результаты тестирования пункта 3.1 алгоритма - коррекция яркости.

Рисунок 6 - Тестирование коррекции яркости

На рисунке 7 представлены результаты тестирования пункта 3.2 алгоритма - избавление от шума камеры (медианная фильтрация).

Рисунок 7 - Тестирование медианного фильтра

На рисунке 8 представлены результаты тестирования пунктов 3.3 и 3.4 алгоритма - повышение резкости границ и бинаризация.

Рисунок 8 - Повышение резкости границ и бинаризация

Заключение

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

В результате тестирования была проверена правильность работы созданного приложения и реализованного алгоритма.

Список использованных источников

1       Медианный фильтр [Электронный ресурс].

         Распознавание номеров [Электронный ресурс].

         Сегментация изображения [Электронный ресурс].

         Система распознавания автомобильных номеров.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!