opencv 学习笔记6:通道的拆分与合并

python + opencv

通道拆分

原始方法
import cv2
img=cv2.imread(‘图像名’)
b=img[:,:,0]
g=img[:,:,`1]
r=img[:,:,2]

新的方法
import cv2
img=cv2.imread(‘图像名’)
b,g,r=img.split(img)

import cv2
import numpy as np
img=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
b,g,r=cv2.split(img)
cv2.imshow("b",b)
cv2.imshow("g",g)
cv2.imshow("r",r)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述
可以只拆分一个通道
添加下标,0,1,2
b=cv2.split(img)[0]

通道合并

方法:cv2.merge([b,g,r])

算例
使用不同顺序合并,结果不同。

import cv2
import numpy as np
img=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
b,g,r=cv2.split(img)
bgr=cv2.merge([b,g,r])
rgb=cv2.merge([r,g,b])
cv2.imshow("bgr",bgr)
cv2.imshow("rgb",rgb)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述
让b通道去合并两个0的通道

import cv2
import numpy as np
img=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
rows,cols,chn=img.shape
b=cv2.split(img)[0]
g = np.zeros((rows,cols),dtype=img.dtype)
r = np.zeros((rows,cols),dtype=img.dtype)
m=cv2.merge([b,g,r])
cv2.imshow("merge",m)
cv2.waitKey()
cv2.destroyAllWindows()

结果:
在这里插入图片描述
同理,只取g通道,另外两个为0。得到的应是纯绿 和纯红

总目录链接:
python3+opencv学习笔记汇总目录(适合基础入门学习)

电气专业的计算机小白。写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。

在这里插入图片描述

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总裁余(余登武)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值