常见shader原理及实现(一)灰度化

灰度图像是R、G、B三个分量相同的一种特殊的彩色图像。所以灰度化即计算灰度值的过程,这里只介绍最常用的加权平均法。

YUV空间的彩色图像,其Y的分量的物理意义本身就是像素点的亮度,由该值反映亮度等级,因此可根据RGB和YUV颜色空间的变化关系建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。

//Fragment Shader
//假设前面计算的输出值为color
float
grayValue= dot(color.rgb, vec3(0.3, 0.59, 0.11)); gl_FragColor = vec4(grayValue, grayValue, grayValue, 1.0);

posted on 2015-06-11 15:50  wonderday  阅读(2273)  评论(0编辑  收藏  举报

导航