Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Luciv / Практическое занятие №5

.doc
Скачиваний:
27
Добавлен:
21.03.2016
Размер:
83.97 Кб
Скачать

Практическое занятие №5

«Распознавание цифр на изображении»

Цель работы – освоение приемов работы с реальными изображениями: нормализация освещенности, выделение краёв, бинаризация, морфологические операции, выделение связанных компонент, разработка программного модуля для решения задачи автоматического распознавания автомобильных номеров.

Задание по работе:

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

Требования и рекомендации по выполнению работы.

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

Рисю 1. Пример результата работы программного модуля по распознаванию автомобильных номеров

Параметры входных данных: изображения номеров являются полутоновыми и сделаны с небольшим запасом; цифры и буквы на номерах размещены последовательно (в виде одной строки). Отношение высоты к ширине видимых на изображении символов не обязательно совпадает с тем, которое задается ГОСТом; отличия могут достигать 25%

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

Примерный алгоритм выполнения первой части задания можно представить виде следующих шагов (в скобках приведены возможные варианты встроенных функций Matlab):

  • Нормализация контраста и освещенности исходного изображения (imadjust).

  • Подавления шума (imfiler и fspecial, 'average' или 'gaussian').

  • Бинаризация изображения (graythresh, im2bw).

  • Поиск связанных компонент на бинаризованном изображении (regionprops с параметром 'BoundingBox').

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

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

  • Номер имеет следующую структуру - а111аа, где а - любая буква, 1 - любая цифра.

  • Ширина букв и цифр должна быть примерно одинакова.

  • Буквы имеют одинаковую высоту, цифры тоже.

  • Высота букв меньше высоты цифр.

  • Ограничивающие прямоугольники букв и цифр не могут быть слишком большими или слишком маленькими.

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

  • Ограничивающие прямоугольники не должны пересекаться.

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

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

Примерная реализация первого алгоритма может состоять из следующих шагов:

  1. Бинаризация изображения и поиск трех цифр номера (первая часть практической работы)

  2. Описание каждой цифры с помощью инвариантных признаков (многие полезные признаки можно получить на примере функции regionprops пакета MATLAB)

  3. Подбор решающих правил, позволяющих лучше всего разделить цифры (для упрощения процедуры подбора рекомендуется воспользоваться графическим анализом признаков)

Примерная реализация второго алгоритма может состоять из следующих шагов:

  • Построение шаблона для каждой цифры путём усреднения изображений

  • Бинаризация изображения и поиск трех цифр номера (первая часть практической работы)

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

Литература:

1) В.Т. Фисенко, Т.Ю. Фисенко, Методы компьютерной обработки изображений: учеб. пособие. – СПб: СПбГУ ИТМО, 2009. – 133 с.

2) Гонсалес, Рафаэл. Цифровая обработка изображений [Текст] / Р. Гонсалес, Р. Вудс; пер с англ. под ред. П. А. Чочиа. – М.: Техносфера, 2006. – 1070, [2] с.

3) Яне, Бернд. Цифровая обработка изображений [Текст] / Б. Яне; пер. с англ. А. М. Измайловой. – М.: Техносфера, 2007.– 583 с.