Обработка изображений с помощью OpenCV
Покупка
Издательство:
ДМК Пресс
Авторы:
Гарсия Глория Буэно, Суарес Оскар Дениз, Аранда Хосе Луис Эспиноса, Терсеро Хесус Салидо, Грасиа Исмаэль Серрано, Энано Ноэлия Валлез
Перевод:
Слинкин Алексей Александрович
Год издания: 2023
Кол-во страниц: 212
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-346-2
Артикул: 816365.01.99
Доступ онлайн
В корзину
OpenCV является наиболее широко распространенной библиотекой компьютерного зрения. Она включает сотни готовых функций обработки изображений и используется как в академических учреждениях, так и в промышленности. В этой книге на примерах демонстрируются основные алгоритмы обработки изображений, реализованные в OpenCV. Сначала рассказывается об установке библиотеки, описывается ее общая структура и приводятся простые примеры чтения и записи изображений и видео. Далее рассматривается фильтрация изображений и манипуляции с цветом. Вы узнаете о таких методах обработки, как ретуширование, очистка от шумов и создание HDR-изображений. В последней главе речь пойдет о повышении быстродействия за счет использования графических процессоров. Все рассмотренные темы иллюстрируются примерами. Издание предназначено программистам, знакомым с языком С++ и желающим изучить методы обработки изображений с помощью библиотеки OpenCV.
- Полная коллекция по информатике и вычислительной технике
- Графика и анимация на компьютере
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Цифровой дизайн
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Глория Буэно Гарсия, Оскар Дениз Суарес, Хосе Луис Эспиноса Аранда, Хесус Салидо Терсеро, Исмаэль Серрано Грасиа, Ноэлия Валлез Энано Обработка изображений с помощью OpenCV
Learning Image Processing with OpenCV Exploit the amazing features of OpenCV to create powerful image processing applications through easy-to-follow examples Gloria Bueno García Oscar Deniz Suarez José Luis Espinosa Aranda Jesus Salido Tercero Ismael Serrano Gracia Noelia Vállez Enano BIRMINGHAM - MUMBAI
Обработка изображений с помощью OpenCV На простых и понятных примерах узнайте, как с помощью поразительных возможностей OpenCV создавать мощные приложения для обработки изображений Глория Буэно Гарсия Оскар Дениз Суарес Хосе Луис Эспиноса Аранда Хесус Салидо Терсеро Исмаэль Серрано Грасиа Ноэлия Валлез Энано Москва, 2023 2-е издание, электронное
УДК 004.932OpenCV ББК 32.972.13 Г20 Г20 Гарсия, Глория Буэно. Обработка изображений с помощью OpenCV / Г. Б. Гарсия, О. Д. Суарес, Х. Л. Э. Аранда и др. ; пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 212 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-346-2 OpenCV является наиболее широко распространенной библиотекой компьютерного зрения. Она включает сотни готовых функций обработки изображений и используется как в академических учреждениях, так и в промышленности. В этой книге на примерах демонстрируются основные алгоритмы обработки изображений, реализованные в OpenCV. Сначала рассказывается об установке библиотеки, описывается ее общая структура и приводятся простые примеры чтения и записи изображений и видео. Далее рассматривается фильтрация изображений и манипуляции с цветом. Вы узнаете о таких методах обработки, как ретуширование, очистка от шумов и создание HDR-изображений. В последней главе речь пойдет о повышении быстродействия за счет использования графических процессоров. Все рассмотренные темы иллюстрируются примерами. Издание предназначено программистам, знакомым с языком С++ и желающим изучить методы обработки изображений с помощью библиотеки OpenCV. УДК 004.932OpenCV ББК 32.972.13 Электронное издание на основе печатного издания: Обработка изображений с помощью OpenCV / Г. Б. Гарсия, О. Д. Суарес, Х. Л. Э. Аранда и др. ; пер. с англ. А. А. Слинкина. — Москва : ДМК Пресс, 2016. — 210 с. — ISBN 978-5-97060-387-1. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-346-2 © 2015 Packt Publishing © Оформление, перевод на русский язык, ДМК Пресс, 2016
Оглавление Об авторах ........................................................8 О рецензентах.................................................. 11 предисловие ................................................... 13 Структура книги ............................................................................ 13 Что необходимо для чтения этой книги .......................................... 14 Предполагаемая аудитория .......................................................... 15 Обозначения и графические выделения ........................................ 15 Отзывы .......................................................................................... 16 Поддержка клиентов ..................................................................... 16 Загрузка кода примеров ....................................................................... 16 Загрузка цветных иллюстраций ............................................................ 17 Опечатки ............................................................................................... 17 Нарушение авторских прав ................................................................... 17 Вопросы ........................................................................................ 18 Глава 1. Работа с файлами изображений и видео ... 19 Введение в OpenCV ....................................................................... 19 Загрузка и установка OpenCV ........................................................ 21 Получение компилятора и настройка CMake ................................. 22 Настройка OpenCV с помощью CMake .................................................. 23 Компиляция и установка библиотеки ............................................. 26 Структура каталогов OpenCV ......................................................... 27 Создание проекта, включающего OpenCV ..................................... 28 Общие замечания об использовании библиотеки ................................. 29 Средства для разработки новых проектов ............................................. 30 Создание приложения OpenCV на C++ в Qt Creator ................................ 31 Чтение и запись файлов изображений........................................... 33 Основные элементы API ........................................................................ 33 Поддерживаемые форматы графических файлов ................................. 36 Пример программы .............................................................................. 36
Оглавление Чтение и запись видеофайлов ....................................................... 41 Пример программы .............................................................................. 41 Средства взаимодействия с пользователем ......................................... 43 Полосы прокрутки ................................................................................. 46 Управление с помощью мыши ............................................................... 47 Кнопки .................................................................................................. 48 Рисование и отображение текста .......................................................... 49 Резюме ......................................................................................... 51 Глава 2. Инструменты обработки изображений ...... 52 Основные типы данных .................................................................. 52 Доступ к пикселям ......................................................................... 55 Хронометраж ................................................................................ 56 Типичные операции над изображениями ....................................... 56 Арифметические операции ........................................................... 58 Сохранение данных ....................................................................... 61 Гистограммы ................................................................................. 63 Пример программы .............................................................................. 65 Пример программы .............................................................................. 69 Резюме ......................................................................................... 73 Глава 3. Коррекция и улучшение изображений ...... 74 Фильтрация изображений ............................................................. 74 Сглаживание ......................................................................................... 75 Повышение резкости ............................................................................ 79 Работа с пирамидами изображений ...................................................... 82 Пирамиды Лапласа ............................................................................... 83 Морфологические операции ......................................................... 84 Пример программы .............................................................................. 87 LUT-фильтры ................................................................................. 88 Пример программы .............................................................................. 89 Геометрические преобразования .................................................. 90 Аффинное преобразование .................................................................. 91 Ретуширование ........................................................................... 101 Пример программы ............................................................................ 103 Очистка от шумов ........................................................................ 107 Пример программы ............................................................................ 108 Резюме ....................................................................................... 110 Глава 4. Работа с цветом .................................. 111 Цветовые пространства .............................................................. 111
Оглавление Преобразования цветовых пространств (cvtColor) .............................. 112 Сегментация на основе цветового пространства ......................... 132 HSV-сегментация ................................................................................ 133 YCrCb-сегментация ............................................................................. 134 Цветоперенос ............................................................................. 136 Пример программы ............................................................................ 136 Резюме ....................................................................................... 138 Глава 5. Обработка видео ................................. 139 Стабилизация видео ................................................................... 139 Сверхвысокое разрешение ......................................................... 146 Сшивка изображений .................................................................. 155 Резюме ....................................................................................... 167 Глава 6. Вычислительная фотография ................ 169 Изображения с широким динамическим диапазоном .................. 169 Создание HDR-изображений .............................................................. 172 Тональная компрессия ........................................................................ 176 Совмещение ....................................................................................... 177 Экспозиционное объединение ............................................................ 178 Бесшовное клонирование ........................................................... 179 Обесцвечивание ......................................................................... 181 Нефотореалистичный рендеринг ................................................ 183 Резюме ....................................................................................... 186 Глава 7. Ускорение обработки изображений ........ 187 Установка OpenCV с поддержкой OpenCL .................................... 189 Краткое описание установки OpenCV с поддержкой OpenCL ............... 194 Проверка использования GPU ............................................................. 194 Ускорение собственных функций ................................................ 196 Проверка поддержки OpenCL .............................................................. 196 Ваша первая программа для GPU ....................................................... 198 А теперь в реальном времени ............................................................. 200 Резюме ....................................................................................... 205 предметный указатель .................................... 206
Об автОрах Глория Буэно Гарсия имеет степень доктора по машинному зрению, присвоенную университетом Ковентри, Великобритания. Она работала в должности старшего научного сотрудника в нескольких исследовательских центрах, в частности в подразделении UMR 7005 Национального научно-исследовательского центра при университете Луи Пастера в Страсбурге (Франция), в компании Gilbert Gilkes & Gordon Technology (Великобритания) и в центре научно-технических исследований CEIT San Sebastian (Испания). Она автор двух патентов, одного зарегистрированного типа программ и более 100 рецензированных публикаций. Ее научные интересы лежат в области двумерной и трехмерной мультимодальной обработки изображений и искусственного интеллекта. Возглавляет исследовательскую группу VISILAB в университете Кастилия–Ла-Манча. Является соавтором книги по программированию для мобильных устройств с применением OpenCV «OpenCV Essentials», вышедшей в издательстве Packt Publishing. Посвящается нашим сыновьям в качестве компенсации за то время, когда мы не могли поиграть с ними, и нашим родителям за постоянную поддержку безо всяких условий. Спасибо от Глории и Оскара. Научные интересы Оскара Дениза Суареса сосредоточены в основном в области машинного зрения и распознавания образов. Он автор более 50 работ в рецензируемых журналах и на конференциях. Занял второе место на конкурсе работ докторов наук по машинному зрению и распознаванию образов, проводимом AERFAI (Испанская ассоциация по распознаванию образов и анализу изображений), а также получил награду от компании Innocentive Inc. за лучшую программу по обработке и переформатированию файлов изображений. Его работы используются такими передовыми компаниями, как Existor, Gliif, Tapmedia, E-Twenty и другими. Он внес вклад в разра-
Об авторах ботку OpenCV. В настоящее время работает доцентом в университете Кастилия–Ла-Манча и сотрудничает с VISILAB. Является старшим членом IEEE и участвует в организациях AAAI, SIANI, CEA-IFAC, AEPIA и AERFAI-IAPR. Исполняет функции академического редактора журнала PLoS ONE. По приглашению занимался исследовательской работой в университете Карнеги-Меллон, Имперском колледже Лондона и в компании Leica Biosystems. Соавтор двух книг по OpenCV. Хосе Луис Эспиноса Аранда имеет степень доктора информатики, присвоенную университетом Кастилия–Ла-Манча. Он вышел в финал испанского конкурса Certamen Universitario Arquímedes de Introducción a la Investigación científica 2009 года со своим дипломным проектом. В сферу его научных интересов входят машинное зрение, эвристические алгоритмы и исследование операций. В настоящее время работает в группе VISILAB младшим научным сотрудником, занимаясь разработками в области машинного зрения. Посвящаю своим родителям и братьям. Хесус Салидо Терсеро получил степень доктора электротехники в 1996 году в Мадридском политехническом университете (Испания). Затем два года работал приглашенным научным сотрудником в Институте робототехники (университет Карнеги-Меллон, Питтсбург, США), занимаясь кооперативными системами из нескольких роботов. После возвращения в испанский университет Кастилия–Ла- Манча ведет курсы по робототехнике и промышленной информатике, а также занимается исследованиями в области интеллектуальных систем машинного зрения. Последние три года направлял основные усилия на разработку приложений машинного зрения для мобильных устройств. Соавтор книги по программированию мобильных устройств с применением OpenCV. Посвящаю тем, кому обязан всем в своей жизни: родителям, Саграрио и Марии. Исмаэль Серрано Грасиа получил ученую степень по информатике в 2012 году в университете Кастилия–Ла-Манча. Удостоен выс-
Об авторах шей оценки за дипломный проект, посвященный распознаванию людей. В этом приложении используются камеры глубины, программируемые с помощью библиотеки OpenCV. В настоящее время трудится над докторской диссертацией, получив грант от испанского Министерства науки и исследований. По совместительству работает младшим научным сотрудником в группе VISILAB, занимаясь различными вопросами машинного зрения. Посвящаю родителям, которые дали мне возможность получить образование и поддерживают на протяжении всей жизни. А также своему научному руководителю, доктору Оскару Денизу, моему другу, наставнику и помощнику. И еще друзьям и своей девушке, которая всегда помогала мне и верила, что я смогу это сделать. Ноэлия Валлез Энано с детства обожала компьютеры, но свою первую машину получила только в пятнадцать лет. В 2009 году она с высшими баллами окончила курс информатики в университете Ка- стилия–Ла-Манча. Начав работать в группе VISILAB, занималась проектом в области CAD-систем для маммографии и обработкой медицинских электронных данных. Затем получила степень магистра физико-математических наук и приступила к работе над докторской диссертацией, посвященной методам обработки изображений и распознавания образов. Также любит преподавать и заниматься различными вопросами искусственного интеллекта.
О рецензентах Вальтер Лучетти, известный в Интернете под ником Myzhar, – инженер- компьютерщик из Италии, специализируется в робототехнике и робототехническом восприятии. Получил степень лауреата в 2005 года за написанную в Пизанском исследовательском центре «E.Piaggio» диссертацию по 3D-маппингу с помощью двумерного лазера, управляемого серводвигателем, когда на трехмерную поверхность проецируются RGB-данные. В ходе работы над диссертацией он впервые познакомился с OpenCV – это было в начале 2004 года, когда библиотека еще находилась в зачаточном состоянии. После защиты занимался разработкой низкоуровневых встраиваемых систем и высокоуровневых систем для настольных компьютеров. Знания в области машинного зрения и машинного обучения он серьезно обогатил, работая инженером-исследователем в центре передовой робототехники Густаво Стефанини в Ла Специи (Италия), филиале лаборатории PERCRO Пизанской высшей школы Sant’Anna. В настоящее время работает в программной индустрии, пишет прошивки для встраиваемых ARM-систем, программы для настольных компьютеров на базе библиотеки Qt и разрабатывает интеллектуальные алгоритмы для систем видеонаблюдения на основе OpenCV и CUDA. Также работает над личным робототехническим проектом: MyzharBot. Это гусеничный наземный подвижный робот, который пользуется машинным зрением для распознавания препятствий, анализа и исследования окружающей среды. Управление роботом осуществляется с помощью алгоритмов, основанных на ROS, CUDA и OpenCV. Познакомиться с проектом можно на сайте http:// myzharbot.robot-home.it. Андре де Суза Морейра получил степень магистра информатики со специализацией в компьютерной графике от папского католического университета Рио де Жанейро (Бразилия). Закончил федеральный университет штата Мараньян (Бразилия) со степенью бакалавра информатики. Во время работы над дипломом входил в состав исследовательской группы Labmint и занимался об-
О рецензентах работкой медицинских изображений, а конкретно распознаванием и диагностикой рака молочной железы. В настоящее время работает исследователем и системным аналитиком в институте Текграф (Instituto Tecgraf), одном из главных научно-исследовательских центров компьютерной графики в Бразилии. С 2007 года активно использует PHP, HTML и CSS, а сейчас применяет для разработки C++11/C++14, SQLite, Qt, Boost, и OpenGL. Дополнительные сведения можно найти на его персональном сайте по адресу www.andredsm.com. Марвин Смит в настоящее время работает инженером-программистом в оборонной промышленности и специализируется в области фотограмметрии и дистанционного зондирования. Степень бакалавра информатики получил в университете Невады в Рино. В область его технических интересов входят высокопроизводительные вычисления, распределенная обработка изображений и многоспектральные формирователи изображений. До перехода в оборонную отрасль Марвин проходил практику в группе интеллектуальной робототехники в исследовательском центре НАСА в Амесе и в центре ходовых испытаний в Неваде.
предислОвие OpenCV является, наверное, самой широко распространенной библиотекой компьютерного зрения. Она включает сотни готовых функций обработки изображений и используется как в академических учреждениях, так и в промышленности. Камеры становятся все дешевле, а спрос на обработку изображений растет, поэтому спектр приложений OpenCV как на настольных, так и на мобильных платформах постоянно расширяется. В этой книге на примерах демонстрируются основные алгоритмы обработки изображений, реализованные в OpenCV. Есть книги, где объясняется теория, лежащая в основе OpenCV. Есть и такие, где приводятся примеры больших, почти законченных приложений. Мы же ориентируемся на читателей, которым нужны – и притом быстро – простые для понимания работающие примеры, на которые можно навешивать дополнительные функции. В первой, вступительной, части объясняется, как установить библиотеку, описывается ее общая структура и приводятся простые примеры чтения и записи изображений и видео. Далее рассматриваются следующие темы: работа с изображениями и видео, основные инструменты обработки изображений, коррекция и улучшение изображений, цвет, обработка видео, вычислительная фотография. И напоследок обсуждаются более сложные темы, в частности, повышение быстродействия за счет использования графических процессоров. На протяжении всей книги описываются новые функции и методы, появившиеся в последней основной версии, OpenCV 3. Структура книги В главе 1 «Работа с файлами изображений и видео» описывается, как читать такие файлы. Демонстрируются также основные средства взаимодействия с пользователем, которые позволяют изменять значения параметров, выбирать интересующие области и т. д.
Доступ онлайн
В корзину