Статья Автор: Деникина Наталья Владимировна

Работа с изображениями

Раскладываем изображение на каналы


После всех экспериментов, вам должно стать понятно, что изображение представляет собой трехмерный массив, который выглядит примерно так:
А это значит, что можно посмотреть, на каждый из трех каналов и увидеть их отдельно. 

Поработаем со следующим изображением
 
Исходное изображение можно представить в виде трех прозрачных пленок, наложенных друг на друга, тогда при смешении цветов, получится исходная картинка:

Для того, чтобы оставить в изображении один канал, необходимо воспользоваться срезом для массива NumPy:

blue_channel = image[:, :, 0]  # Синий канал
green_channel = image[:, :, 1]  # Зеленый канал
red_channel= image[:, :, 2]  # Красный канал

Так мы получим 3 одноканальных изображения (т.е. в оттенках серого цвета), и чем белее в этом конкретном пикселе, тем больше насыщенность этого канала в нем.
Посмотрите на изображения, и сравните с исходным:
Синий канал


Зеленый канал


Красный канал

Отображение результатов


На локальном компьютере
Для отображения нескольких окон важно для каждого из них указывать разные имена окон

# Отображение окон
cv2.imshow('Original image', image)
cv2.imshow('Red channel', red_channel)
cv2.imshow('Green channel', green_channel)
cv2.imshow('Blue channel', blue_channel)

# Ожидание нажатия клавиши для закрытия окон
cv2.waitKey(0)
cv2.destroyAllWindows()

На сайте (в тетрадях или онлайн компиляторе)
Обратите еще раз внимание, что при использовании функции cv2.imshow() опускается первый параметр, отвечающий за название окна.


или через matplotlib


Сохранение результатов


Функция cv2.imwrite из библиотеки OpenCV сохраняет изображение на диск в указанном формате.

Синтаксис команды:

cv2.imwrite(filename, image)
  • filename: строка, представляющая путь и имя файла, в который будет сохранено изображение. Расширение файла (например, .jpg.png.bmp) определяет формат сохраненного изображения.
  • image: массив NumPy, представляющий изображение, которое необходимо сохранить.
Прикрепленные файлы
image_31.png
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать