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)  

运行结果截图:
在这里插入图片描述

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值