opencv學習記錄之獲取圖像單通道

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

如今還不清楚單通道提取的圖像是怎樣算法

相關文章
相關標籤/搜索