Автор оригинала: Python Examples.
Opencv – Получить синий канал из изображения
Чтобы извлечь синий канал изображения, сначала прочитайте цветное изображение с помощью библиотеки Python OpenCV, а затем извлеките массив Blue Channel 2D из массива изображений с помощью нарезки изображения.
Шаг за шагом процесс для извлечения синего канала цветного изображения
Ниже приведена последовательность шагов, чтобы получить синий канал цветного изображения.
- Читайте изображение с помощью CV2.imread ().
- IMREAD () возвращает ARGR (Blue-Green-Red) массив. Это трехмерный массив I.E., 2D-пиксельные массивы для трех цветных каналов.
- Извлеките синий канал в одиночку, доступа к массиву.
Пример 1: Получить синий канал из цветного изображения.
В следующем примере мы реализуем последовательность упомянутых выше шагов, чтобы извлечь синий канал со следующего изображения.
Исходное изображение или Входное изображение
Python Program
import cv2 #read image src = cv2.imread('D:/cv2-resize-image-original.png', cv2.IMREAD_UNCHANGED) print(src.shape) #extract blue channel blue_channel = src[:,:,0] #write blue channel to greyscale image cv2.imwrite('D:/cv2-blue-channel.png',blue_channel)
Мы написали синий канал на изображение. Поскольку это просто 2D-массив со значениями, начиная от 0 до 255, выход выглядит как изображение GreyScale, но это синие значения канала.
Выходное изображение (синий канал)
Если вы наблюдаете треугольники, красные и зеленые более темные, чем другие.
Чтобы визуализировать изображение в синем цвете, давайте сделаем красные и зеленые компоненты к нулям.
Python Program
import cv2 import numpy as np #read image src = cv2.imread('D:/cv2-resize-image-original.png', cv2.IMREAD_UNCHANGED) print(src.shape) # extract blue channel blue_channel = src[:,:,0] # create empty image with same shape as that of src image blue_img = np.zeros(src.shape) #assign the red channel of src to empty image blue_img[:,:,0] = blue_channel #save image cv2.imwrite('D:/cv2-blue-channel.png',blue_img)
Выходное изображение
Резюме
В этом руководстве примеров Python мы узнали, как извлечь синий канал с изображения.