在OpenCV中,通道是按照B通道-G通道-R通道的顺序存储的。
通过索引的方式,将各个通道从图像内提取出来。
对于OpenCV内的BGR图像img,如下语句分别从中提取了B通道、G通道、R通道。
b=img[:,:,0] #拆分出B通道
g=img[:,:,1] #拆分出G通道
r=img[:,:,2] #拆分出R通道
以一张玫瑰rose图为例,通过代码观察效果:
import cv2
rose=cv2.imread("images/2909.jpg") #原图
cv2.imshow("rose",rose)
b=rose[:,:,0] #拆分出B通道
g=rose[:,:,1] #拆分出G通道
r=rose[:,:,2] #拆分出R通道
cv2.imshow("rose-b",b)
cv2.imshow("rose-g",g)
cv2.imshow("rose-r",r)
rose[:,:,0]=0
cv2.imshow("rose-b-0",rose)
rose[:,:,1]=0
cv2.imshow("rose-b-0-g-0",rose)
cv2.waitKey()
cv2.destroyAllWindows()
运行效果图:
可以看到R通道的图玫瑰花较亮,这是因为R分量数值大,所以原图玫瑰花才能呈现出红色效果。
声明:博客记录是对李立宗老师写的《OpenCV轻松入门面向Python》这本书学习的记录总结。
本文地址:https://blog.csdn.net/weixin_42044946/article/details/107442795
如对本文有疑问, 点击进行留言回复!!
Python笔记-UiSelector中resourceId定位方式
【3Dtiles】3Dmax模型处理为gltf和3dtiles,包含LOD效果
荐 用Django全栈开发——08. 使用AdminLTE开发前端登录页面
网友评论