Рубрики
Без рубрики

Питон экстракт синий канал из цветного изображения

Автор оригинала: Python Examples.

Opencv – Получить синий канал из изображения

Чтобы извлечь синий канал изображения, сначала прочитайте цветное изображение с помощью библиотеки Python OpenCV, а затем извлеките массив Blue Channel 2D из массива изображений с помощью нарезки изображения.

Шаг за шагом процесс для извлечения синего канала цветного изображения

Ниже приведена последовательность шагов, чтобы получить синий канал цветного изображения.

  1. Читайте изображение с помощью CV2.imread ().
  2. IMREAD () возвращает ARGR (Blue-Green-Red) массив. Это трехмерный массив I.E., 2D-пиксельные массивы для трех цветных каналов.
  3. Извлеките синий канал в одиночку, доступа к массиву.

Пример 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 мы узнали, как извлечь синий канал с изображения.