在linux里用file查看一张jpg图片
frames表示通道 =1表示channel=1, =3同理
channel=1,所谓单通道图,俗称灰度图,每个像素点只能有一个值表示颜色,像素值在0~255,0=黑,255=白,中间值是一些不同等级的灰色。也有3通道的灰度图,这种情况只有一个通道有值,其他两个通道的值=0
channel=3,每个像素点有3个值表示,RGB图片就是三通道图片。
R=G=B的值叫灰度值,灰度图像每个像素只需要一个字节存放灰度值,范围0~255
任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
1.浮点算法:Gray=R*0.3+G*0.59+B*0.11;
2.整数方法:Gray=(R*30+G*59+B*11)/100;
3.移位方法:Gray =(R*76+G*151+B*28)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G;
通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了