특정 채널만 가져와 배경 칠하기
import cv2
import numpy as np
src = cv2.imread('./data/lena.jpg', cv2.IMREAD_GRAYSCALE)
shape = src.shape[0], src.shape[1], 3
print(shape, type(shape))
dst = np.zeros(shape, dtype=np.uint8)
dst[:, :, 0] = src
dst[100:400, 200:300, :] = [255, 255, 255]
cv2.imshow('src', src)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()
채널 분리하기
- 채널을 B(Blue), G(Green), R(Red)로 분리
- 분리된 채널들은 단일 채널이므로 흑백의 색상으로만 표현
import cv2
src = cv2.imread('./data/lena.jpg')
dst = cv2.split(src)
cv2.imshow('blue', dst[0])
cv2.imshow('green', dst[1])
cv2.imshow('red', dst[2])
cv2.waitKey()
cv2.destroyAllWindows()
채널 병합하기
import cv2
src = cv2.imread('./data/lena.jpg')
b, g, r = cv2.split(src)
print(b, type(b))
dst = cv2.merge([b, g, r])
print(type(dst))
print(dst.shape)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()