opencv学习记录之获取图像单通道

RGB的图像可以拆分出R通道,G通道和B通道。

这里只用了一个简单的代码:

 1 import cv2
 2 dog = cv2.imread("/home/miao/dog.jpg")
 3 cv2.imshow("dog1" , cat)
 4 b = dog[:,:,0]
 5 g = dog[:,:,1]
 6 r = dog[:,:,2]
 7 cv2.imshow("b" , b) 
 8 cv2.imshow("g" , g) 
 9 cv2.imshow("r" , r) 
10 dog[:,:,0] = 0
11 cv2.imshow("dogb0" , dog)                                                        
12 dog[:,:,1] = 0
13 cv2.imshow( " dogb0g0" , dog)
14 cv2.waitKey()
15 cv2.destroyAllWindows()

显示的图片如下:

原图:

 单通道提取:

提取B通道

 提取G通道

 提取R通道

 B通道值设置为0

 B通道值,G通道值设置为0

为什么单通道提取和将两个通道的值设置为0的图片不一致?

单通道提取的图像为灰度图像

而设置其他通道值为0图像依然是彩色图像

为什么提取不同的通道的灰度图像也不一样

灰度图像有不同的算法

1)最大值法:使转化后的R,G,B得值等于转化前3个值中最大的一个,即:R=G=B=max(R,G,B)。这种方法转换的灰度图亮度很高。

  2)平均值法:是转化后R,G,B的值为转化前R,G,B的平均值。即:R=G=B=(R+G+B)/3。这种方法产生的灰度图像比较柔和。

  3)加权平均值法:按照一定权值,对R,G,B的值加权平均,

即:这里写图片描述分别为R,G,B的权值,取不同的值形成不同的灰度图像。由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使将得到较易识别的灰度图像。一般时,得到的灰度图像效果最好。

现在还不清楚单通道提取的图像是怎样算法

猜你喜欢

转载自www.cnblogs.com/miaorn/p/12175675.html
今日推荐