一,通道拆分
1.通过索引拆分
#1.通过索引拆分 b=girl[:,:,0]#获取了img的B通道 g=girl[:,:,1]#获取了img的G通道 r=girl[:,:,2]#获取了img的R通道
示例:编写程序,演示图像通道拆分及通道值改变对彩色图像的影响
# 编写程序,演示图像通道拆分及通道值改变对彩色图像的影响 import cv2 girl=cv2.imread("girl.png")#原始图像 cv2.imshow("girl1",girl) b=girl[:,:,0]#获取了img的B通道 g=girl[:,:,1]#获取了img的G通道 r=girl[:,:,2]#获取了img的R通道 cv2.imshow("b",b)#原始图像的B通道图像b cv2.imshow("g",g)#原始图像的G通道图像g cv2.imshow("r",r)#原始图像的R通道图像r girl[:,:,0]=0#将图像的B通道值设置为0 cv2.imshow("girlb0",girl)#原始图像的B通道值置为0得到的图像 girl[:,:,1]=0#将图像的G通道值设置为0 cv2.imshow("girlb0g0",girl)#原始图像的B,G通道值置为0得到的图像 cv2.waitKey() cv2.destroyAllWindows()结果:
2.通过函数拆分
# 2.通过函数拆分 # b,g,r=cv2.split(img) # 等价于 # b=cv2.split(a)[0] # g=cv2.split(a)[1] # r=cv2.split(a)[2] # 编写程序,使用函数cv2.split()拆分图像通道
示例: 编写程序,使用函数cv2.split()拆分图像通道
# 编写程序,使用函数cv2.split()拆分图像通道 import cv2 girl=cv2.imread("girl.png") b,g,r=cv2.split(girl) cv2.imshow("B",b) cv2.imshow("G",g) cv2.imshow("R",r) cv2.waitKey() cv2.destroyAllWindows()结果:
二,通道合并
# 通道合并 # bgr=cv2.merge([b,g,r]) #此处合并顺序为:B通道—>G通道—>R通道
示例:编写程序,演示使用函数cv2.merge()合并通道
import cv2 girl=cv2.imread("girl.png") b,g,r=cv2.split(girl) bgr=cv2.merge([b,g,r])#合并顺序为:B通道—>G通道—>R通道 rgb=cv2.merge([r,g,b])#合并顺序为:R通道—>G通道—>B通道 cv2.imshow("girl",girl) cv2.imshow("bgr",bgr) cv2.imshow("rgb",rgb) cv2.waitKey() cv2.destroyAllWindows()结果:
三,附录

本次使用的样例图片~
版权声明:本文为qq_53914247原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。


