2015-12-09 131 views
0

我想將像素值轉換爲其平均灰度值。 R,G,B組件是1個字節的整數(0-255)。有沒有方法可以計算像素的平均值(R + G + B)/ 3而無需將組件轉換爲其他類型?計算組件類型爲0-255時的像素平均值

我也想避免(R/3 + G/3 + B/3),因爲邊緣的情況下等(2,2,2),其將成爲0而不是2.

回答

1

div是整數(//在某些語言中),mod是模運算(%在某些語言中)

Rd = R div 3 
Rm = R mod 3 
Gd = G div 3 
Gm = G mod 3 
Bd = B div 3 
Bm = B mod 3 
Average = Rd + Gd + Bd + (Rm + Gm + Bm) div 3