opencv中的cv2..split()和cv2.merge()函数的使用举例

学习资料来源链接: python3+opencv 图像通道的分离(split()函数)和合并(merge()函数)

分离图像的三个通道,注意通道的顺序是BGR:

import numpy as np
import cv2  #导入opencv模块
 
image=cv2.imread("bryant.jpg")  #读取要处理的图片
B,G,R = cv2.split(image)  #分离出图片的B,R,G颜色通道
cv2.imshow("RED COMPONENT FOR ALL THREE CHANNELS",R)  #显示三通道的值都为R值时的图片
cv2.imshow("GREEN COMPONENT FOR ALL THREE CHANNELS",G)  #显示三通道的值都为G值时的图片
cv2.imshow("BLUE COMPONENT FOR ALL THREE CHANNELS",B)  #显示三通道的值都为B值时的图片
cv2.waitKey(0)  #不让程序突然结束
 

执行结果截图:

分离图像的三个通道,其余通道置零,注意通道的顺序是BGR:

import numpy as np
import cv2  #导入opencv模块
 
image=cv2.imread("bryant.jpg")  #读取要处理的图片
B,G,R = cv2.split(image)  #分离出图片的B,R,G颜色通道
zeros = np.zeros(image.shape[:2],dtype="uint8")  #创建与image相同大小的零矩阵
cv2.imshow("DISPLAY BLUE COMPONENT",cv2.merge([B,zeros,zeros]))  #显示(B,0,0)图像
cv2.imshow("DISPLAY GREEN COMPONENT",cv2.merge([zeros,G,zeros]))  #显示(0,G,0)图像
cv2.imshow("DISPLAY RED COMPONENT",cv2.merge([zeros,zeros,R]))  #显示(0,0,R)图像
cv2.waitKey(0)  

运行结果截图:

将提取出来的三个通道再重新合并回去:

import numpy as np
import cv2  #导入opencv模块
 
image=cv2.imread("bryant.jpg")  #读取要处理的图片
B,G,R = cv2.split(image)  #分离出图片的B,R,G颜色通道
cv2.imshow("MERGE RED,GREEN AND BLUE CHANNELS",cv2.merge([B,G,R]))  #显示(B,G,R)图像
cv2.waitKey(0)  

运行结果截图:
opencv中的cv2..split()和cv2.merge()函数的使用举例_第1张图片

你可能感兴趣的:(opencv-python,4.4.0.46,学习笔记)