在rgb图像中,一个像素点的数组大小为0xFFFFFFFF,其中,前两个F(从左往右)存储的是alpha通道,也就是图像中像素指定的透明度。当其为FF,即为255的时候,图像是全饱和的。而第三和第四个F存储的是red的像素值,第五和六存储的是green的像素值,第七第八存储的是blue的像素值。
在这里举个例子,0xFF010203指的是,透明度为FF,即为不透明。红色像素值为1,绿色像素值为2,蓝色像素值为3。
而灰度图像是指没有色彩,rgb三色为一定值时即为灰度图像。而灰度图像的分量也有0-255的大小。对于三色rgb,我们可以通过以下的方法转为灰度:
- 浮点算法:r * 0.3 + g * 0.59 + b * 0.11
- 整数算法:(r * 30 + g * 59 + b * 11)/ 100
- 移位算法:(r * 28 + g * 151 + b * 77)>> 8
- 平均算法:(r + g + b)/ 3
- 取绿色:g
通过上述方法可以将图像转为灰度图像,灰度图像的分量同样为0xFF 大。
例如原像素点为0xFF010203ÿ