Choose an image to work with:
import cv2 as cv
import numpy as np
img = cv.imread('Image/Lady.jpg')
cv.imshow('Image', img)

Split Color Channel
blank = np.zeros(img.shape[:2], dtype='uint8')
cv.imshow('Blank', blank)
# Split
b,g,r = cv.split(img)
blue = cv.merge([b,blank,blank])
green = cv.merge([blank,g,blank])
red = cv.merge([blank,blank,r])
cv.imshow('Blue', b)
cv.imshow('Green', g)
cv.imshow('Red', r)
cv.imshow('Blue', blue)
cv.imshow('Green', green)
cv.imshow('Red', red)
print(img.shape)
print(b.shape)
print(g.shape)
print(r.shape)

Merge Color Channel
# Merge
merged_bgr = cv.merge([b,g,r])
cv.imshow('Merged BGR Image', merged_bgr)
merged_rgb = cv.merge([r,g,b])
cv.imshow('Merged RGB Image', merged_rgb)
cv.waitKey(0)

OpenCV 8: Color Channel