RGB的图像能够拆分出R通道,G通道和B通道。算法
这里只用了一个简单的代码:spa
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()
显示的图片以下:3d
原图:code
单通道提取:blog
提取B通道图片
提取G通道it
提取R通道class
B通道值设置为0import
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的权值,取不一样的值造成不一样的灰度图像。因为人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,所以使将获得较易识别的灰度图像。通常时,获得的灰度图像效果最好。
如今还不清楚单通道提取的图像是怎样算法