- •Обзор предметной области
- •Способы перевода цветного изображения в полутоновое
- •Методы бинаризации
- •Способы сегментации
- •Способы распознавания.
- •2. Постановка задачи
- •3. Адаптация и описание используемых алгоритмов
- •3.1 Перевод цветного изображения в полутоновое rgb(yuv)
- •3.1 Бинаризация пороговым методом и методом 120
- •3.2 Сегментация строк и промежутков между словами и буквами методом гистограмм
- •3.3 Сегментация слов и букв методом мод
- •3.4 Попиксельное итеративное утоньшение бинарного изображения
- •3.5 Распознавание
- •4. Программная реализация
- •4.1 Схема программного обеспечения
- •4.2 Описание функций и методов
- •4.3Тестирование и руководство для пользователя
Белорусский национальный технический университет
Факультет Информационных технологий и робототехники
Кафедра «Системы автоматизированного проектирования»
КУРСОВОЙ ПРОЕКТ
По дисциплине
“ Методы распознавания образов”
Тема: “Разработка подсистемы сегментации ключевого слова на изображении экрана смартфона”
Исполнитель: студент гр. 107522 Соловьев Роман Евгеньевич
Руководитель проекта: доцент Ковалева Ирина Львовна
Минск, 2015
Белорусский национальный технический университет
Факультет информационных технологий и робототехники
Кафедра «Системы автоматизированного проектирования»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту
по дисциплине “Методы распознавания образов”
Тема: “Разработка подсистемы сегментации ключевого слова на изображении экрана смартфона”
Исполнитель: Соловьев Р. Е.
Руководитель: Ковалёва И. Л.
Минск, 2015
Оглавление
ВВЕДЕНИЕ 4
1.ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1Способы перевода цветного изображения в полутоновое 6
1.2Методы бинаризации 9
1.3Способы сегментации 11
1.4Способы распознавания. 13
2. ПОСТАНОВКА ЗАДАЧИ 14
3. АДАПТАЦИЯ И ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ АЛГОРИТМОВ 15
3.1 Перевод цветного изображения в полутоновое RGB(YUV) 15
3.1 Бинаризация пороговым методом и методом 120 16
3.2 Сегментация строк и промежутков между словами и буквами методом гистограмм 18
3.3 Сегментация слов и букв методом мод 19
3.4 Попиксельное итеративное утоньшение бинарного изображения 20
3.5 Распознавание 21
4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 24
4.1 Схема программного обеспечения 24
4.2 Описание функций и методов 24
4.3Тестирование и руководство для пользователя 26
ЗАКЛЮЧЕНИЕ 30
ЛИТЕРАТУРА 31
Приложение 1. Схема IDEF трех уровней и UML диаграмма классов. 32
Приложение 2. Исходный код класса Binarizer 36
Приложение 3. Исходный код класса GystogramBuilder 37
ВВЕДЕНИЕ
Теория распознавания образов – раздел информатики и смежных дисциплин, развивающий методы классификации и идентификации предметов, явлений, процессов, ситуаций, объектов, которые характеризуются конечным набором некоторых свойств и признаков.
При этом перечень этих свойств и признаков либо задаются распознающей системе извне, либо формируются самой системой.
В качестве информативных признаков сканированных изображений могут выступать такие характерные признаки, как расположение и количество концевых элементов, количество пикселей объекта в строке, количество соседних пикселей объекта и т.д.
Для того, чтобы их определение стало возможным, может потребоваться выполнить следующие действия: бинаризация, сегментация, утоньшение;
В данном курсовом проекте необходимо найти ключевое слово на изображении текста с экрана смартфона. Возможность автоматически находить слова на изображении текста может быть полезно при работе со сканированным текстом, с фотографиями текста, а также при работе с информацией в таких форматах как DJVU, PDF и других.
Данный курсовой проект состоит из 4 разделов:
В первом разделе описывается предметная область, существующие программные продукты и их недостатки, существующие методы для подготовки изображения к распознаванию.
Во втором разделе описывается цель курсового проекта, какими должны быть входные и выходные параметры, ограничения.
В третьем разделе идет описание используемых алгоритмов для подготовки к распознаванию и непосредственно самогораспознавания.
В четвертом разделе представлена программная реализация используемых алгоритмов.
Обзор предметной области
Распознавание текста на изображении — довольно распространенная задача, которая решается множеством платных (яркий представитель Abbyy FineReader) и свободных (OpenCV, Tesseract) библиотек и программ, однако почти всегда полученный текст не полностью совпадает с оригинальным, что может стать проблемой при выполнении поиска ключевого слова, при этом на работу сложных и ресурсоемких алгоритмов компьютерного зрения затрачивается много времени (от нескольких минут до нескольких часов).
Вместе с тем зачастую необходимо не получить текст с изображения, а всего лишь найти ключевое слово на изображении текста, например для быстрого перехода к нужной информации для чтения. При этом не важно получение информации в текстовом формате, а важно нахождение места на изображении. Данную задачу можно решить при помощи менее ресурсоемких алгоритмов и затратив при этом минимум времени, которое может быть сравнимо со временем обычного поиска ключевого слова в текстовом представлении информации и составляет несколько секунд.
Задача сегментации включает в себя выполнение некоторых подготовительных процессов, таких как бинаризация и утоньшение, самой сегментации, а также распознавании среди полученных претендентов, при этом можно использовать различные методы обработки изображений.
Способы перевода цветного изображения в полутоновое
Прежде чем приступить к бинаризации, цветное изображение должно быть переведено в полутоновое.
Существует ряд различных способов перевода цветного RGB изображения в другие системы, в которых возможно отдельно выделить яркость каждого пикселя, что необходимо для полутонового изображения.
1. Перевод RGB в HSB (HSV)
В ходе преобразования значения яркостей по красной, зеленой и синей составляющим, заданные в диапазоне [0..1], конвертируются в модель HSB (HSV). Получают значения в следующих диапазонах:
Н – цветовой тон (0-360°), 0° – красный
S – насыщенность (0-1); B(V) – светлота (0-1)
Мах – функция определения максимума среди трех составляющих R,G, и B.
Min – функция определения минимума среди трех составляющих R,G, и B.
Алгоритм перевода RGB в HSB (HSV) следующий:
V = MAX
2. Перевод RGB в HSL
Начальные условия, диапазоны изменений и обозначения аналогичны предыдущему пункту. Алгоритм перевода приводится ниже.
L = ½(MAX + MIN)
3. Перевод RGB в CMYK
Перед конвертацией значения яркостей по красной, зеленой и синей составляющим нормализуются. Основной принцип преобразования состоит в следующем:
tC'M'Y' = {1 - R, 1 - G, 1 - B};
K = min{C', M', Y'};
tCMYK = {0, 0, 0, 1} if K = 1
tCMYK = { (C' - K)/(1 - K), (M' - K)/(1 - K), (Y' - K)/(1 - K), K }
4. Перевод RGB в YUV (YUV444)
Диапазоны изменения входных и выходных величин следующие:
величины R, G, B, Y могут принимать значения в диапазоне [0, 1];
величина U – в диапазоне [-0.436, 0.436];
величина V – в диапазоне [-0.615, 0.615].
Преобразование RGB в YUV (YUV444) осуществляется по следующему принципу:
tYUV = { (0.299 R + 0.587 G + 0.114 B), (- 0.14713 R + 0.28886 G + 0.436 B), (0.615 R + 0.51499 G + 0.10001 B) }
5. Перевод RGB в XYZ
Перед конвертацией значения яркостей по красной, зеленой и синей составляющим нормализуются. Основной принцип преобразования состоит в следующем:
a = 0.055 и 2.2
где
Следует отметить, что при переводе в полутоновое любым из этих методов качество изображения может ухудшиться.
После проведения перевода из цветного изображения в полутоновое можно приступать к бинаризации изображения.
В курсовом проекте предпочтительнее задействовать четвертый метод перевода RGB в YUV, так как при его использовании наблюдаются наименьшие потери информаии и удобнее использовать значение интенсивности в качестве полутоновой яркости.