Тип работы:
Предмет:
Язык работы:


Опыт распознавания изображений в специальной области

Работа №73302

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы35
Год сдачи2016
Стоимость4340 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
107
Не подходит работа?

Узнай цену на написание


Введение 3
Краткий обзор литературы 5
Глава 1. Постановка задачи 7
1.1. Обзор технологий 7
1.2. База шрифтов 9
1.3. Основные понятия 10
Глава 2. Описание алгоритма 12
2.1. Предобработка изображения 12
2.2. Выделение контуров 14
2.3. Получение набора изображений символов 16
2.4. Сравнение контуров 16
Глава 3. Работа приложения 20
3.1. Структура программы 20
Заключение 24
Список литературы 25
Приложение A 26
Приложение B 28
Приложение С

В настоящий момент развитие цифровых технологий позволяет людям передавать и принимать информацию с большой скоростью. Доступность и развитость современной техники сделало особо распространенным такой вид данных, как цифровые изображения. Например, в последние годы среди пользователей интернета и социальных сетей прослеживается тенденция к передаче и обмену информацией в форме картинок и фотографий.
В связи с этим большим спросом пользуются программы, позволяющие среднестатистическому пользователю получать и работать с данными, полученными с изображения. Эти задачи можно решить с помощью методов цифровой обработки.
Первоначально эти методы разрабатывались и исследовались специалистами, работающими в области прикладной математики. Сейчас создано несколько общедоступных библиотек, позволяющих вести работу с цифровыми данными, однако их использование все еще требует определенного технического образования. Такие библиотеки компьютерного зрения не содержат готовых решений и являются лишь инструментом для создания рабочих алгоритмов.
Описанные технологии доступны массовому пользователю лишь посредствам различных программных продуктов, в том числе мобильных приложений, рынок которых стремительно растет. В процессе работы над мобильным приложением, перед разработчиками стоит задача создания механизма упрощенного взаимодействия пользователя с библиотеками компьютерного зрения.
Перенасыщенность рынка мобильных приложений для массового пользователя сподвигло разработчиков на расширение диапазона сфер их использования. Это привело к созданию приложений, направленных на применение в узких областях человеческой деятельности. В свою очередь, доступность и повсеместность гаджетов сделало их незаменимым инструментом в работе многих специалистов. Поэтому в нынешних условиях для разработчика важно умение находить решения еще нерешенных или мало изученных задач.
Одной из таких задач является распознавание шрифта текста с изображения. Например, с ней часто сталкиваются многие web дизайнеры. Красивый шрифт добавит сайту оригинальности, и он будет выгодно выглядеть на фоне конкурентов. Конечно, уже существуют инструменты, которые решают такую задачу, но в подавляющем большинстве они представляют собой специализированные сайты. Как быть, если нужно будучи вне дома, срочно распознать шрифт с какой-нибудь вывески или рекламного плаката, используя только возможности мобильного телефона? На момент написания данной работы в магазине мобильных приложений "App Store"находилось все лишь несколько программ, реализующих такой функционал, и то только частично. В частности, из минусов можно выделить работу только с включенным интернетом, так как часть приложений несет в себе функциональность отправки изображения на специализированный сайт и не решает задачу сама.
Исходя из всего вышесказанного, целью данной работы является проектирование и разработка приложения для мобильной платформы iOS с функционалом распознавания шрифта текста с изображения. Распознавание должно происходить на самом устройстве, без использования сторонних ресурсов. На момент написания работы не было найдено готовых решений с открытым кодом, все существующие программы были коммерческими. Также в литературе и сети не было информации о конкретном алгоритме решения.
Краткий обзор литературы
В качестве основных источников для изучения библиотеки OpenCV в данной работе были использованы такие книги, как Gloria Bueno Garcia "Learning Image Processing with OpenCV" [1] и Gary Bradski, Adrian Kaehler "Learning OpenCV: Computer Vision with the OpenCV Library" [2]. В данных учебниках авторы подробно описывают возможности библиотеки, приводят примеры работы различных функций. Практические советы по реализации алгоритмов и подходов представлены в книгах David A. Forsyth, Jean Ponce "Computer Vision: A Modern Approach" [3] и Kenneth Dawson-Howe "A Practical Introduction to Computer Vision with OpenCV" [4].
Существует также официальный сайт "docs.opencv.org"[10], на котором присутствует документация обо всех функциях библиотеки: описание входных параметров к ним, принципы работы. Для многих функций описан математический фундамент или алгоритм, лежащие в их основе.
При подготовке к выполнению данной работы наибольшее внимание было уделено статьям Serge Belongie, Jitendra Malik, Jan Puzicha "Shape Matching and Object Recognition Using Shape Contexts" [5], Suzuki, S., Abe, K., "Topological Structural Analysis of Digitized Binary Images by Border Following" [6] и Hu "Visual Pattern Recognition by Moment Invariants, IRE Transactions on Information Theory" [7]. Многие подходы и концепции, описанные в приведенных выше статьях были использованы в данной работе.
В связи с тем, что работа с OpenCV ведется на языке программирования C++, для его изучения использовалась книга Роберта Лафоре "Объектно-ориентированное программирование в С++" [8]. В ней хорошо описан синтаксис языка, основные понятия, отлично подходит для начинающих.
Для изучения программирования для платформы iOS были выбраны следующие издания: Apple Inc. "The Swift Programming Language (Swift 2.2)" [11] - официальная книга от компании Apple по языку программирования Swift, на котором ведется основная разработка приложения, а так же Аарон Хиллегас "Objective-C. Программирование для iOS и MacOS"[9]. В данных книгах описываются основные возможности, концепции и синтаксис языков программирования.
Дополнительная информация по проектированию и разработке мобильных приложений под iOS была взята с официального сайта компании Apple "developer.apple.com"[12], на котором находится наиболее полное описание всех функций и библиотек, а так же шаблонов программирования.
Изучение библиотеки Tesseract велось по официальной документации компании Google представленной в интернете

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе данной работы было создано приложение для платформы iOS для распознавания шрифта текста на изображении. Также был получен колоссальный опыт в самой разработке мобильных приложений под iOS и опыт в использовании библиотек OpenCV и Tesseract.
Программный код, реализованный в результате данной работы, является хорошей базой для дальнейшего развития и улучшения программы. Алгоритм сравнения контуров не зависит от размера базы шрифтов, следовательно имеется возможность расширения базы до нужного предела. При дальнейшем развитии продукта это позволит использовать программу массовому пользователю. Возможно будет создана коммерческая версия для магазина iOS приложений App Store.
Подходы контурного анализа, рассмотренные в данной работе можно использовать и для других задач, связанных с обработкой изображений, сравнений объектов на снимках.



[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] Bradski G. Learning OpenCV: Computer Vision with the OpenCV Library. O’Reilly. 2008. 543 p.
[3] Forsyth D., Ponce J. Computer vision: A modern approach // Prentice Hall. 2002
[4] Dawson-Howe K. A Practical Introduction to Computer Vision with OpenCV. John Wiley&Sons Ltd, 2014. 235 p.
[5] 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.
[6] Suzuki S, Abe K. Topological Structural Analysis of Digitized Binary Images by Border Following // CVGIP. 1985. Vol. 1. P. 32-46.
[7] Hu M.K. Visual pattern recognition by moment invariants // IRE Transactions on Information Theory. 1962. Vol. 8. - P. 179-187.
[8] Лафоре Р. Объектно-ориентированное программирование в C++. СПб.: Питер, 2004. 923 c.
[9] Хиллегасс А. Objective-C Программирование для iOS и MacOS. СПб: Питер, 2012. 304 с.
[10] OpenCV documentation. htt://docs.opencv.org/.
[11] The Swift Programming Language Reference: https://developer.apple.com/ library/ios/documentation/Swift/Conceptual/SwiftProgram
[12] iOS Developer Library. https://developer.apple.com/.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ