На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

OpenCV и Java. Обработка изображений и компьютерное зрение

Автор Прохоренок Н.
Название OpenCV и Java. Обработка изображений и компьютерное зрение
Серия Профессиональное программирование
ISBN 978-5-9775-3955-5
Формат 70×100/16 (165×233 мм), мягкая обложка
Объем 320
Тематика
Оптовая цена
    Вернуться к описанию книги

Полное содержание

Введение 7

Часть I. Загрузка изображения

11

Глава 1. Первые шаги

13
1.1. Установка OpenCV 13
1.2. Настройка редактора Eclipse 15
1.3. Вспомогательные классы 22
1.3.1. Класс Point: точка 22
1.3.2. Класс Point3: 3D-точка 24
1.3.3. Класс Size: размеры прямоугольной области 25
1.3.4. Класс Rect: прямоугольная область 26
1.3.5. Класс RotatedRect: повернутая прямоугольная область 29
1.3.6. Класс Scalar: объект из четырех элементов 31
1.3.7. Класс Range: диапазон 33

Глава 2. Матрицы

35
2.1. Класс Mat: матрица 35
2.1.1. Создание матрицы 35
2.1.2. Размеры матрицы 40
2.1.3. Тип элементов 41
2.1.4. Доступ к элементам 46
2.1.5. Получение диапазона значений 47
2.1.6. Создание копии матрицы 54
2.1.7. Транспонирование матрицы 56
2.1.8. Изменение структуры матрицы 57
2.1.9. Удаление матрицы 58
2.2. Изменение значений матрицы 59
2.2.1. Изменение сразу всех значений 63
2.2.2. Сложение 65
2.2.3. Вычитание 67
2.2.4. Умножение 68
2.2.5. Деление 69
2.2.6. Вычисление квадратного корня 70
2.2.7. Возведение в степень 71
2.2.8. Вычисление натурального логарифма и экспоненты 71
2.2.9. Использование таблицы соответствия 71
2.2.10. Нормализация и вычисление нормы 73
2.2.11. Побитовые операции 74
2.3. Поиск минимального, максимального и среднего значений 76
2.4. Вычисление суммы элементов 79
2.5. Заполнение матрицы случайными числами 80
2.6. Сортировка элементов матрицы 81
2.7. Сравнение элементов 83
2.8. Прочие методы 84
2.9. Классы MatOfByte, MatOfInt, MatOfFloat и MatOfDouble 86
2.10. Классы MatOfPoint, MatOfPoint3 и MatOfRect 88

Глава 3. Создание и преобразование изображений

91
3.1. Загрузка изображения из файла 91
3.2. Сохранение изображения в файл 94
3.3. Преобразование матрицы в массив и обратно 96
3.4. Преобразование цветового пространства 98
3.4.1. Преобразование BGR в оттенки серого 98
3.4.2. Преобразование BGR в RGB 99
3.4.3. Добавление или удаление альфа-канала 100
3.4.4. Преобразование BGR в HSV 100
3.4.5. Преобразование BGR в HLS 101
3.4.6. Преобразование BGR в Lab 102
3.5. Изменение типа изображения 103
3.5.1. Преобразование типа CV_8U в CV_32F 103
3.5.2. Преобразование типа CV_16U в CV_32F 103
3.5.3. Преобразование типа CV_8U в CV_16U 104
3.6. Преобразование Mat в BufferedImage 104
3.7. Преобразование Mat в WritableImage 106
3.8. Сохранение матрицы в бинарный файл 109
3.9. Класс CvUtils и шаблон приложения JavaFX 111
3.10. Чтение кадров из видеофайла 115
3.11. Захват кадров с веб-камеры 118

Часть II. Анализ и обработка изображения

125

Глава 4. Рисование фигур и вывод текста на изображение

127
4.1. Указание цвета 127
4.2. Рисование линии 129
4.3. Рисование стрелки 130
4.4. Рисование прямоугольника 132
4.5. Рисование круга 133
4.6. Рисование эллипса, дуги или сектора 134
4.7. Рисование ломаной линии и многоугольника 137
4.8. Вывод текста на изображение 141
4.9. Создание рамки 144
4.10. Вставка одного изображения в другое 147
4.11. Наложение одного изображения на другое 148
4.12. Рисование маркеров 149

Глава 5. Трансформация изображения

151
5.1. Разделение изображения на отдельные каналы 151
5.2. Создание зеркального отражения 154
5.3. Объединение нескольких изображений 155
5.4. Повтор изображения по горизонтали и вертикали 156
5.5. Изменение размеров изображения 156
5.6. Аффинные преобразования 159
5.6.1. Смещение, масштабирование и сдвиг 159
5.6.2. Вращение 162
5.7. Трансформация перспективы 166

Глава 6. Изменение значений компонентов цвета

169
6.1. Преобразование цветного изображения в черно-белое 169
6.2. Изменение яркости и насыщенности 175
6.3. Изменение цветового баланса 176
6.4. Изменение контраста 177
6.5. Создание негатива изображения 179
6.6. Сепия 180
6.7. Вычисление гистограммы 181
6.8. Автоматическое выравнивание гистограммы изображения в градациях серого 184
6.9. Класс CLAHE 187
6.10. Метод applyColorMap() 189

Глава 7. Применение фильтров

193
7.1. Размытие и подавление цифрового шума 193
7.1.1. Метод blur(): однородное сглаживание 194
7.1.2. Размытие по Гауссу 195
7.1.3. Метод bilateralFilter(): двустороннее сглаживание 196
7.1.4. Метод adaptiveBilateralFilter() 197
7.1.5. Медианный фильтр 198
7.1.6. Метод boxFilter() 199
7.2. Методы filter2D() и sepFilter2D() 200
7.3. Методы dilate() и erode() 202
7.4. Метод morphologyEx() 204
7.5. Гауссовы пирамиды 207
7.6. Вычисление градиентов изображения 208
7.6.1. Методы Sobel() и Scharr() 208
7.6.2. Метод Laplacian() 214
7.7. Фильтр Габора 215
7.8. Повышение резкости 217

Часть III. Компьютерное зрение

221

Глава 8. Поиск объектов

223
8.1. Поиск контуров 223
8.1.1. Метод Canny(): выделение границ 223
8.1.2. Метод findContours(): поиск контуров 225
8.1.3. Метод drawContours(): отрисовка контура 226
8.1.4. Основные методы для работы с контурами 228
8.1.5. Сравнение контуров 231
8.2. Поиск объекта по цвету 236
8.3. Вычитание фона из текущего кадра 237
8.4. Поиск объекта по шаблону 240
8.5. Поиск прямых линий и кругов 241
8.6. Класс LineSegmentDetector 244

Глава 9. Сегментация изображения

247
9.1. Метод watershed() 247
9.2. Метод pyrMeanShiftFiltering() 249
9.3. Метод floodFill() 251
9.4. Метод grabCut() 253
9.5. Метод kmeans() 256

Глава 10. Поиск особых точек

259
10.1. Поиск углов 259
10.1.1. Детектор углов Харриса 259
10.1.2. Метод cornerMinEigenVal() 260
10.1.3. Метод preCornerDetect() 262
10.1.4. Метод goodFeaturesToTrack() 263
10.1.5. Уточнение местоположения углов 265
10.2. Поиск ключевых точек 266
10.2.1. Класс KeyPoint 266
10.2.2. Класс MatOfKeyPoint 268
10.2.3. Отрисовка ключевых точек 270
10.2.4. Класс FeatureDetector 272
10.3. Сравнение ключевых точек 275
10.3.1. Класс DescriptorExtractor 276
10.3.2. Класс DMatch 277
10.3.3. Класс MatOfDMatch 278
10.3.4. Отрисовка найденных совпадений 281
10.3.5. Класс DescriptorMatcher 282
10.4. Создание панорамы 287
10.5. Класс Feature2D 291

Глава 11. Каскады Хаара

295
11.1. Класс CascadeClassifier 295
11.2. Поиск лиц 297
11.3. Поиск глаз 298
11.4. Поиск улыбки 300
11.5. Поиск носа 301
   
Заключение 305
Приложение. Описание электронного архива 306
Предметный указатель 307


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2018 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.