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的權值,取不一樣的值造成不一樣的灰度圖像。因爲人眼對綠色最爲敏感,紅色次之,對藍色的敏感性最低,所以使將獲得較易識別的灰度圖像。通常時,獲得的灰度圖像效果最好。
如今還不清楚單通道提取的圖像是怎樣算法