#OpenCV 中 imread() 函数默认加载图像文件,加载进来的是 3 通道彩色图像,色彩空间 是RGB色彩空间。
通道顺序是:BGR (蓝色、绿色、红色)。
通道分离函数:split()
通道合并函数:merge()
import cv2 as cv
src=cv.imread(r’C:\Users\zs\Desktop\defm.jpg’)
cv.namedWindow(‘input’,cv.WINDOW_AUTOSIZE)
cv.imshow(‘input’,src)
#蓝色通道为0
mv=cv.split(src)
mv[0][:, :]=0 #[0]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst1=cv.merge(mv) #通道的合并
cv.imshow(‘output1’,dst1)
#绿色通道为0
mv=cv.split(src) #通道的分离
mv[1][:, :]=0 #[1]表示绿色通道,[:,:]表示所有像素点集合
dst2=cv.merge(mv)
cv.imshow(‘output2’,dst2)
#红色通道为0
mv=cv.split(src)
mv[2][:, :]=0
dst3=cv.merge(mv)
cv.imshow(‘output3’,dst3)
cv.mixChannels(src,dst3,[2,0])
cv.imshow(‘output4’,dst3)
cv.waitKey(0)
cv.destroyAllWindows()
函数功能说明:mixChannels主要就是把输入的矩阵(或矩阵数组)的某些通道拆分复制给对应的输出矩阵(或矩阵数组)的某些通道中,其中的对应关系就由fromTo参数制定.
mixChannels([src], [dst], fromTo)
src:要拷贝通道的图像对象列表
dst:要拷贝通道的图像对象列表
fromTo:从哪个通道拷贝到哪个通道去