Similar presentations:
Введение в OpenCV
1. Введение. Основы работы с OpenCV
2. Введение в техническое зрение
23. Введение в техническое зрение
34. Виды цветовых моделей
Представление цвета в формате RGB4
5. Техническое зрение
Техническое зрение – это дисциплина, являющаяся частьюискусственного интеллекта.
Задача
Извлечение информации
из изображения
Удаление шума с
изображения
Повышение
качества
изображения
Выделение
знаковых частей
изображения
Восстановление
трехмерных
сцен
Определение
размеров
объекта
5
6. OpenCV
Библиотека компьютерногозрения
и
машинного
обучения
с
открытым
исходным кодом. В неё
входят более 2500 алгоритмов,
в
которых
есть
как
классические,
так
и
современные алгоритмы для
компьютерного зрения и
машинного обучения.
pip install opencv-python
import cv2
6
7. Чтение и запись изображения
ЧтениеЗапись
img = cv2.imread(
path, # путь до
изображения
flags=cv2.IMREAD
_COLOR # параметр(ы)
чтения )
res = cv2.imwrite(
filename, # путь
до файла сохранения
img, #
переменная, хранящая
изображение
flags #
параметр(ы) сохранения
)
7
8. Чтение изображения cv2.imread
cv2.IMREAD_COLOR - преобразует изображение в 3-канальное цветноеизображение BGR.
cv2.IMREAD_GRAYSCALE - преобразует изображение в одноканальное
изображение в оттенках серого (внутреннее преобразование кодека).
cv2.IMREAD_UNCHANGED - возвращает загруженное изображение как есть.
IMREAD_REDUCED_GRAYSCALE_* - преобразовать изображение в
одноканальное изображение в оттенках серого и уменьшить размер
изображения на **.
IMREAD_REDUCED_COLOR_* - преобразовать изображение в 3-канальное
цветное изображение BGR и уменьшить размер изображения на **.
* - 2, 4, 8
** -1/2, ¼, 1/8
8
9. Отображение во время выполнения программы
Создание окна для отображенияизображения/видео
cv2.namedWindow( name, # имя окна
flags=cv2.WINDOW_AUTOSIZE #
параметр(ы) окна )
*Используется для того, чтобы
выведенное изображение не пропало
сразу на экране
**Если time< 1, то изображение будет
отображаться сколь угодно долго
Отображение
изображения/видео в окне
cv2.imshow( winName, # имя окна
img # переменная, содержащая
изображение )
key = cv2.waitKey(
time # время ожидания нажатия
)
9
10. Библиотека Numpy
Для работы с массивами в Pythonбудет использоваться библиотека
Numpy.
Для импортирования библиотеки:
import numpy as np
10
11. Создание массивов, заданных размеров
Создание массива заданногоразмера, инициализированного
нулями
Создание массива заданного
размера, инициализированного
любыми числами
res = np.zeros(
shape, # размер массива
dtype=np.float64, # тип данных
order='C', # тип хранения
многомерных данных
)
res = np.full(
shape, # размер массива
val, # значение для заполнения
dtype, # тип данных
order # тип хранения многомерных
данных
)
11
12. Функции для рисования и подписи объектов
Линия• cv2.line(переменная, в которой хранится изображение, координаты начала
(x1,y1) и конца (x2,y2), (цвет в формате BGR), толщина линии, тип линии)
Стрелка
• cv2.arrowedLine(переменная, в которой хранится изображение, координаты
начала (x1,y1) и конца (x2,y2), (цвет в формате BGR), толщина линии, тип
линии)
Прямоугольник
Окружность
Текст
• cv2.rectangle(переменная, в которой хранится изображение,координаты
левого верхнего угла (x1,y1),координаты правого нижнего угла
(x2,y2),(цвет в формате BGR),толщина линии, тип линии)
• cv2.circle(переменная, в которой хранится изображение,координаты центра
(x,y),радиус,(цвет в формате BGR),толщина линии, тип линии)
• cv2.putText(переменная, в которой хранится изображение,"Ваш
текст",координаты (x,y),шрифт,размер шрифта,( цвет в формате BGR),
толщина линии, тип линии)
13. Задача 1
Используя любое изображение. Напишите программу, котораябудет выводить изображение на экран следующим образом:
• в цвете в полном размере на 5 секунд, затем закрыть;
• в оттенках серого в полном размере на 7 секунд, затем закрыть;
• в цвете в 2 раза меньше, чем исходный размер, на 9 секунд, затем
закрыть;
• в оттенках серого в 4 раза меньше, чем исходный размер, на 11
секунд, затем закрыть.
14. Задача 2
С помощью средств библиотек OpenCV и NumPy создайте изображение.На белом фоне нарисуйте:
15. Задача 3
Возьмите любое цветное изображение и представьте его в оттенкахсерого размера, уменьшенного в 4 раза. По нажатию на клавишу «s»
должно выполняться сохранение нового изображения в формате
.png, а по нажатию на клавишу «c» - закрытие всех окон.
16. Задача 4
С помощью средств библиотек OpenCV и NumPy создайте изображениешахматной доски шириной в 5 клетки и длиной в 5 клеток. Пусть
верхний левый квадрат будет фиолетовым, а его сосед справа белым. Дальше чередуйте эти цвета в шахматном порядке.
Сохраните его на компьютере (с помощью imwrite).