Метод распознавания шрифта текста с изображения | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №12 (116) июнь-2 2016 г.

Дата публикации: 11.06.2016

Статья просмотрена: 2543 раза

Библиографическое описание:

Коробов, Д. В. Метод распознавания шрифта текста с изображения / Д. В. Коробов, М. В. Патин. — Текст : непосредственный // Молодой ученый. — 2016. — № 12 (116). — С. 161-165. — URL: https://moluch.ru/archive/116/31528/ (дата обращения: 18.12.2024).



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

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

Ключевые слова: компьютерное зрение, распознавание шрифта, контурный анализ, OpenCV, iOS

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

Алгоритм.

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

Алгоритм можно поделить на 3 этапа: предобработка изображения, выделение символов текста на изображении и сравнение контуров. Рассмотрим первый этап более подробно:

Предобработка изображения.

  1. Первым делом входное изображение следует перевести в градации серого. В OpenCV это делается с помощью функции cvtColor().
  2. Далее используется медианный фильтр, для удаления шумов. Он хорошо справляется с шумами типа «перец и соль», а так же данный фильтр улучшает контур ла (рис. 1), что очень важно для дальнейшего контурного анализа. В OpenCV для этого ис
  3. Используется функция medianBlur().
  4. Следующий шаг заключает в себе бинаризацию изображения или перевод изображения в черно-белое (рис. 2) с помощью функции thresholdMat(). Бинаризация проводится по пороговому значению яркости пикселя, которое равняется 127.

Рис. 1. Фильтрация шумов

Рис. 2. Бинаризация изображения

Выделение символов.

На данном этапе происходит выделение каждого символа в отдельное изображение.

  1. С помощью детектора границ Кэнни, реализованного в OpenCV в виде функции Canny(), на изображении выделяются границы всех объектов (рис.3).

Рис. 3. Выделение границ

  1. Затем с помощью функции findContours(), можно получить контуры объектов в виде набора точек с координатами. Имея набор точек для каждого контура можно определить наименьший прямоугольник, который будет содержать область внутри контура. Найти прямоугольник можно с помощью функции boundingRect() (рис. 4).

Рис. 4. Выделение контуров

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

Рис. 5. Выделенные объекты

Сравнение контуров.

Контур каждого символа сравнивается с контуром этого же символа в различных шрифтах с помощью функции сomputeDistance() из библиотеки OpenCV. Принцип работы функции следующий: на вход подается два контура, а на выходе численное значение. Чем больше число, тем меньше похожи контура. В основе алгоритма лежит сравнение точек контуров между собой (рис. 6).

Рис. 6. Сравнение контуров

Отыскиваются похожие точки и строится гистограмма различий, по которой считается расстояние. Подробная реализация алгоритма, заложенного в основе функции computeDistance() описана в статье Belongie S., Malik J., Puzicha J. «Shape matching and object recognition using shape contexts» [1].

Рассмотрим результаты полученные при использовании функции computeDistance(). Для примера были взяты изображения трех символов в семи различных шрифтах: Arial, Calibri, Cambria, Candara, JavaneseText, MongolianBaiti, TimesNewRoman (рис. 7–9).

Рис. 7. Результаты для буквы S

Рис. 8. Результаты для буквы t

Рис. 9. Результаты для буквы P

На рисунках 7–9 показано, как меняются значения функции computeDistance() от шрифта к шрифту. Не вооруженным глазом видно, что похожие буквы имеют близкие выходные значения функции, и как эти значения увеличиваются с при добавлении различных элементов на букву. Например, буква P имеет характерные засечки в шрифтах Cambria, JavaneseText, MongolianBaiti, TimesNewRoman. Можно наблюдать, что выходное значение делает большой скачок при переходе от шрифта Calibri к Cambria.

Определение шрифта.

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

Выводы.

В ходе экспериментов было установлено, что функция computeDistance() дает достаточно точные результаты и чувствительна только к качеству входного изображения и эталонного изображения символа. К сожалению, существует один значимый недостаток — время работы. Так как сравнение контуров идет попиксельно, при хорошем входном изображении контуры могут достигать размерности от 250 до 500 пикселей. Неоднократный перебор такого массива требует большой вычислительной мощности.

Для исследований данный алгоритм был реализован в виде мобильного приложения для устройств на платформе iOS. Тестирование велось на устройстве iPhone 5s. Его характеристики: 2-ух ядерный процессор AppleA7 64-bit, 1.3 Гц, 1GbRAM. На данном устройстве распознавание шрифта текста на изображении (рис. 1) заняло около 10 секунд.

Литература:

  1. Garcia G. B., Suarez O. D., Aranda J. L. E. Learning Image Processing with OpenCV. ISBN-13: 978–1-78328–765–9. Birmingham: Packt Publishing, 2015. 319 p.
  2. Belongie S., Malik J., Puzicha J. Shape matching and object recognition using shape contexts // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002. Vol. 24. No 4. P. 509–522.
  3. Dawson-Howe K. A Practical Introduction to Computer Vision with OpenCV. John Wiley&Sons Ltd, 2014. 235 p.
  4. Suzuki S, Abe K. Topological Structural Analysis of Digitized Binary Images by Border Following // CVGIP. 1985. Vol. 1. P. 32–46.
  5. OpenCV documentation. htt://docs.opencv.org/.
Основные термины (генерируются автоматически): изображение, контур, помощь функции, входное изображение, сравнение контуров, шрифт, выходное значение функции, компьютерное зрение, контурный анализ, среднестатистический пользователь.


Ключевые слова

компьютерное зрение, распознавание шрифта, контурный анализ, OpenCV, IOS

Похожие статьи

Использование мобильных приложений для реализации контроля на уроке немецкого языка

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

Инновационные подходы к рекламе в цифровой среде

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

Исследование временных характеристик клавиатурного почерка для быстрой аутентификации личности

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

Разработка программного модуля для определения зон роста биологического объекта с применением машинного обучения

Одним из основных аспектов автоматизации научных исследований является использование специализированных программ и алгоритмов для сбора, обработки и анализа данных. Разрабатываемый модуль предназначен для разметки и подсчёта зон контраста среза биоло...

Математические методы распознавания образов

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

Компьютерная интеграция в производство. Эксплуатация в различных сферах деятельности

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

Разработка учебного курса «Геопортальные технологии»

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

Использование ресурса Learning Apps на уроках английского языка на начальном уровне обучения с учетом стиля восприятия информации у школьника

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

Разработка модуля прогнозирования цен на товары для онлайн-платформы

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

Разработка программного модуля для обеспечения комфортного доступа к информации

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

Похожие статьи

Использование мобильных приложений для реализации контроля на уроке немецкого языка

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

Инновационные подходы к рекламе в цифровой среде

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

Исследование временных характеристик клавиатурного почерка для быстрой аутентификации личности

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

Разработка программного модуля для определения зон роста биологического объекта с применением машинного обучения

Одним из основных аспектов автоматизации научных исследований является использование специализированных программ и алгоритмов для сбора, обработки и анализа данных. Разрабатываемый модуль предназначен для разметки и подсчёта зон контраста среза биоло...

Математические методы распознавания образов

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

Компьютерная интеграция в производство. Эксплуатация в различных сферах деятельности

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

Разработка учебного курса «Геопортальные технологии»

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

Использование ресурса Learning Apps на уроках английского языка на начальном уровне обучения с учетом стиля восприятия информации у школьника

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

Разработка модуля прогнозирования цен на товары для онлайн-платформы

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

Разработка программного модуля для обеспечения комфортного доступа к информации

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

Задать вопрос