3 РЕАЛИЗАЦИЯ МЕТОДОВ И АЛГОРИТМОВ ДЛЯ ПОСТРОЕНИЯ АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ РАСПОЗНАВАНИЯ СН
3.1 Блок предварительной обработки
Блок предварительной обработки очень важный элемент всей системы назад (если блок обрабатывает изображения для дальнейшего поиска, выделения и распознавания СН, поэтому если этой блок некорректное обработает изображение то могут возникнуть ошибки.Блок предварительной обработки включает следующие блоки:
- Блок преобразования цветного изображения в полутоновое;
- Блок фильтрации изображения;
- Блок выделения контура на изображении;
- Блок бинаризации изображения;
- Блок морфологической обработки (дилатации).
Рассмотрим каждый блок более подробно:
а) блок преобразования цветного изображения в полутоновое. Преобразование цветного изображения в полутоновое делается с помощью перемножения трех цветов каждому пикселю на изображены и получение номера серого оттенка по формуле:
(3.1) где - значение номера цвета красного оттенка;
- Значение номера цвета зеленого оттенка;
- Значение номера цвета синий оттенок.
Каждый полученный номер серого оттенка записывается в новую матрицу на тоже самое место координат матрицы что и в матрице цветного изображения, таким образом получаем из цветного изображения новое полутоновое изображение;
б) блок фильтрации изображения. Так как, анализ показал что более всего изображения которые обрабатывает система подвержены импульсной (снег, пыль) и Гаусових препятствий. На основании этого было выявлено лучший тип фильтрации способного с минимальной погрешностью избавиться от этих видов преград медианная фильтрация поэтому в данной системе используется именно медиана фильтрация. Пример работы медианной фильтрации изображено на рисунке 3.1;
Рисунок 3.1 - Пример работы медианной фильтрации: а - входное изображение с импульсной помехой; б - исходное изображение после работы медианного фильтра
в) блок выделения контура на изображении. Выделение контура основано на поиске контрастного области изображение, содержащее резкую различие яркости между двумя соседними пикселями. Алгоритм обнаружения границ обнаруживает как горизонтальные, так и вертикальные края. Результирующее изображение, после выделения краев, должно содержать большое количество линий в области номера.
В данной работе выделения контуров на изображении реализуется следующим образом:
- Получение начального изображения;
- Проход маски по вертикали и по горизонтали, и занесения в две различные матрицы изображения;
- Объединение двух матриц изображений в одну по максимуму.
После работы этого алгоритма получаем из изображения отрезков серого (Рисунок 3.2 а), новое изображение с выделенным контуром (Рисунок 3.2 б);
Рисунок 3.2 - Пример работы алгоритма выделения контура: а - входное изображение денежной купюры в отрезках серого цвета; б - исходное изображение денежной купюры с выделенным контуром г) блок бинаризации изображения. Бинаризация изображение делается по методу Бернсен, так же известного как поригова бинаризация. Для всего изображения этот порог контраста является константой но для каждого входного изображения он подбирается на основе анализа гистограммы.
При бинаризации изображения делаем следующее:
- Получаем входное изображение с выделенным контуром;
- Делаем и анализируем гистограмму и получаем значение порог;
- Проверяем каждый пиксель изображения, если в данной координате значения меньшее значение порог записываем "1" иначе "0";
- Получаем бинаризоване изображения (рисунок 3.3).
Рисунок 3.3 - Бинаризоване изображения денежной купюры
д) блок дилатации. Изменение изображения с помощью морфологического расширения (дилатации) делается для того чтобы подчеркнуть полезную информацию на изображены. Суть морфологического расширения заключается в том что маска 4х4 проходит каждый пиксель изображения и если черный пиксель попадает внутрь этой маски то все пиксели которые покрывает маска меняются на черный цвет. На рисунке 3.4 представлено изображение после морфологического расширения.
Алгоритм морфологического расширение: (рисунок 3.5)
а) получаем матрицу бинаризованого изображения;
б) устанавливаем начальные значения координат x = 1, y = 1;
в) проверяем цвет данного пикселя, если "1" переходим к пункту «г», иначе «д»;
г) заносим в соседние пикселя значение "1";
д) в = в 1, если в не равно максимума, переходим к пункту «в»;, иначе «есть»;
е) х = х +1; если х не равно максимума, y = 0, переходим на пункту «д», иначе «ж»;
ж) получаем матрицу изображения, конец алгоритма.
Рисунок 3.4 - Исходное изображение после блока дилатации




