以下均为github上opencv的个人学习笔记,原路径如下:
https://github.com/JimmyHHua/opencv_tutorials
源码示例:
import cv2 as cv
src = cv.imread("C:/Users/Mark/Desktop/CV/opencv_tutorials-master/opencv_tutorials-master/python/code_008/test.png")
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
#蓝色通道为零
mv = cv.split(src) //通道的分离
mv[0][:,:] = 0 //[0]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst1 = cv.merge(mv) //通道的合并
cv.imshow("output1", dst1)
#绿色通道为零
mv = cv.split(src) //通道的分离
mv[1][:,:] = 0 //[1]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst2 = cv.merge(mv) //通道的合并
cv.imshow("output2", dst2)
#红色通道为零
mv = cv.split(src) //通道的分离
mv[2][:,:] = 0 //[2]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
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:从哪个通道拷贝到哪个通道去
这里需要注意,src与dst在图像尺寸与格式上必须保持一致