Компьютерное зрение. Практика
- ISBN
- 978-5-9729-2346-5
- Кол-во страниц
- 272
- Формат
- 148х210
- Переплет
- Твердый; Полноцвет
- Год
- 2025
- Вес
- 0,452
Библиографическая запись:
Сацюк, А. В.
С22 Компьютерное зрение. Практика : учебное пособие / А. В. Сацюк. – Москва ; Вологда : Инфра-Инженерия, 2025. – 272 с. : ил., табл.
Содержит краткое теоретическое описание основных методов и принципов области компьютерного зрения, а также включает практические примеры: программы с применением функций библиотек компьютерного зрения на языке Python, начиная от примеров работы с пикселями и заканчивая нейросетевыми задачами. Для студентов старших курсов очной и заочной форм обучения, инженеров и аспирантов, которые обучаются по специальности «Системы обеспечения движения поездов» и «Информационные системы и технологии», а также для обучающихся на дополнительных курсах по направлению «Искусственный интеллект», «Программирование и робототехника», «Компьютерное зрение».
ВВЕДЕНИЕ 8
1. ОСНОВЫ КОМПЬЮТЕРНОГО ЗРЕНИЯ 10
1.1. История развития компьютерного зрения 10
1.2. Аппаратные ресурсы 12
1.3. Библиотеки для работы с изображениями. OpenCV 20
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 24
2. ИНТЕРАКТИВНОЕ УПРАВЛЕНИЕ В КОМПЬЮТЕРНОМ ЗРЕНИИ 25
2.1. Общие сведения об интерактивном управлении 25
2.2. Интерактивные окна и виджеты 26
2.3. Слайдеры 28
2.4. События мыши 29
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 31
3. ОСНОВЫ ИЗОБРАЖЕНИЙ И ВИДЕО 32
3.1. Представление изображений в OpenCV 32
3.2. Загрузка, отображение и сохранение изображений 33
3.3. Захват видео с камеры и из файла 35
3.4. Основные операции с изображениями 37
3.4.1. Изменение размера изображения 37
3.4.2. Обрезка изображения 40
3.4.3. Вращение изображения 42
3.4.4. Отражение изображения 44
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 45
4. ЦВЕТОВЫЕ ПРОСТРАНСТВА И ФИЛЬТРАЦИЯ 47
4.1. Цвет и свет 47
4.2. Пиксели и их представление 49
4.3. Цветовые пространства 53
4.4. Операции над пикселями 57
4.5. Преобразование между цветовыми пространствами 61
4.6. Цветовая коррекция 64
4.7. Фильтрация цветов и цветовая сегментация 66
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 70
5. МЕТОДЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ 72
5.1. Инверсия изображения 72
5.2. Линейное объединение двух изображений 74
5.3. Вычисления абсолютной разницы изображений 77
5.4. Преобразование изображения с использованием абсолютных значений и масштабирования 79
5.5. Бинаризация и пороговая обработка 81
5.6. Фильтрация 84
5.6.1. Принцип цифровой фильтрации 84
5.6.2. Ядро фильтра 90
5.6.3. Фильтрация и сглаживание изображений 92
5.6.4. Фильтрация Гаусса 95
5.6.5. Билатеральный фильтр 98
5.6.6. Фильтры расширения и сужения 100
5.6.7. Медианный фильтр 103
5.6.8. Фильтр Лапласа 104
5.6.9. Фильтр Собеля 107
5.7. Выделение контуров и краев на изображениях 110
5.7.1. Обнаружения границ 110
5.7.2. Обнаружения контуров 112
5.8. Сегментация изображений 115
5.9. Гомография изображений 117
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 122
6. ГРАФИЧЕСКИЕ ОТРИСОВКИ В КОМПЬЮТЕРНОМ ЗРЕНИИ 124
6.1. Графические отрисовки 124
6.2. Отрисовка геометрических фигур 125
6.2.1. Отрисовка линий 126
6.2.2. Отрисовка прямоугольника 128
6.2.3. Отрисовка кругов и эллипсов 129
6.2.4. Отрисовка полигональных фигур 131
6.2.5. Создание холста 133
6.3. Перемещение геометрических фигур 136
6.4. Динамическая отрисовка прямоугольной области 138
6.5. Добавление текста к изображению 141
6.6. Вычисление гистограммы изображения 142
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 146
7. ОБРАБОТКА ДВИЖУЩИХСЯ ОБЪЕКТОВ 148
7.1. Основы обработки движущихся объектов 148
7.2. Предварительная обработка изображений 149
7.3. Выбор области интереса 152
7.4. Отслеживание движущихся объектов 160
7.5. Анализ траекторий движущихся объектов 167
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 171
8. ГЛУБОКОЕ ОБУЧЕНИЕ И НЕЙРОННЫЕ СЕТИ 174
8.1. Введение в глубокое обучение 174
8.2. Сверточная нейронная сеть 177
8.3. Рекуррентная нейронная сеть 187
8.4. Распознавание объектов с использованием алгоритма каскадов Хаара 188
8.5. Обнаружение объектов в реальном времени 194
8.5.1. Алгоритмы YOLO 194
8.5.2. Эволюция модели YOLO 196
8.5.2. Практическое применение YOLO 202
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 204
9. КОМПЬЮТЕРНОЕ ЗРЕНИЕ НА МИКРОКОМПЬЮТЕРАХ 205
9.1. Выбор микрокомпьютера 205
9.2. Установка и настройка окружения 210
9.3. Работа с камерой 212
9.4. Программно-аппаратная архитектура CUDA 219
9.5. Настройка CUDA на микрокомпьютере Jetson Nano 221
ПРАКТИЧЕСКОЕ ЗАДАНИЕ 225
ЗАКЛЮЧЕНИЕ 226
СЛОВАРЬ ТЕРМИНОВ 227
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТРУРЫ 233
ПРИЛОЖЕНИЕ 234
cv2.absdiff() 234
cv2.addWeighted() 234
cv2.bilateralFilter() 235
cv2.bitwise_and() 235
cv2.bitwise_not() 236
cv2.boxFilter() 236
cv2.boxPoints() 236
cv2.calcHist() 237
cv2.Canny() 237
cv2.CascadeClassifier() 238
cv2.circle() 238
cv2.convertScaleAbs() 239
cv2.createTrackbar() 239
cv2.cvtColor() 240
cv2.destroyAllWindows() 241
cv2.detectMultiScale() 241
cv2.dilate() 242
cv2.drawContours() 242
cv2.ellipse() 243
cv2.erode() 244
cv2.filter2D() 244
cv2.findContours() 245
cv2.flip() 246
cv2.GaussianBlur() 246
cv2.getRectSubPix() 246
cv2.getRotationMatrix2D() 247
cv2.getTrackbarPos() 247
cv2.imread() 248
cv2.imshow() 248
cv2. imwrite() 248
cv2.inRange() 249
cv2.Laplacian() 249
cv2.line() 250
cv2.magnitude() 250
cv2.medianBlur() 251
cv2.merge() 251
cv2.minAreaRect() 251
cv2.moveWindow() 252
cv2.MultiTracker() 252
cv2.namedWindow() 252
cv2.polylines() 253
cv2.putText() 253
cv2.rectangle() 254
cv2.resize() 255
cv2.selectROI() 255
cv2.setMouseCallback() 256
cv2.setWindowProperty() 257
cv2.Sobel() 257
cv2.split() 258
cv2.threshold 258
cv2.TrackerCSRT() 259
cv2.TrackerKCF() 259
cv2.TrackerMedianFlow() 259
cv2.TrackerMIL() 260
cv2.TrackerMOSSE() 260
cv2.VideoCapture() 260
cv2.VideoWriter() 260
cv2.VideoWriter_fourcc() 261
cv2.waitKey() 261
cv2.warpAffine() 262
numpy.array() 262
numpy.arange() 263
numpy.empty() 263
numpy.flip() 264
numpy.full() 264
numpy.hstack() 265
numpy.mean() 265
numpy.ones() 265
numpy.reshape() 266
numpy.std() 266
numpy.vstack() 267
numpy.zeros() 267
tracker.init() 268
tracker.update() 268
tracker.get() 269
tracker.release() 269