Opengl ES中YUV420转RGB

Opengl ES中YUV420转RGB

一、先了解一个概念“灰度图”

1、灰度图的定义:

把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶。

2、举例:

老式黑白电视机的图像,即灰度图像

3、灰度值与RGB的计算公式:

Y = 0.299R + 0.587G + 0.114*B

4、这里有一个opengl es把彩色图片转化为灰度图的案例,效果如下:

这里写图片描述

这里写图片描述

转化的shader代码如下:

precision mediump float;
varying vec2 vTextureCoord;
uniform sampler2D sTexture;

void main() {
         vec4 color=texture2D(sTexture, vTextureCoord);
         //
         float col=color.r*0.299+color.g*0.587+color.b*0.114;
         //
         color.r=col;

       

你可能感兴趣的:(OpenGL,ES,移动音视频)