将Unity的RGBA数组转换为YUV字节数组

时间:2018-11-30 20:22:56

标签: c# unity3d yuv rgba

Unity的Texture.GetPixels32()给我们一个Color32[],它是一个RGBA数组,可以很容易地转换成byte[]

我们如何将Color32[]或RGBA byte[]转换为YUV byte[]

此外,Alpha值如何影响YUV转换?在网上,我通常会看到人们只想将RGB转换为YUV。谢谢!

1 个答案:

答案 0 :(得分:1)

这是我代码中的小样本:

decimal y = rgb.R * .299000 + rgb.G * .587000 + rgb.B * .114000;
decimal u = rgb.R * -.168736 + rgb.G * -.331264 + rgb.B * .500000 + 128;
decimal v = rgb.R * .500000 + rgb.G * -.418688 + rgb.B * -.081312 + 128;

我在0 .... 1间隔内使用了yuv