python opencv-08图像通道分离合并

mac2025-12-05  8

#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:从哪个通道拷贝到哪个通道去

最新回复(0)