我有一个Yuv格式的传入视频纹理,我需要将此视频帧中的每个帧分别分为Y平面和UV平面。我不知道Threejs是否可行,还是应该使用着色器。我该如何用threejs或glsl做到这一点? 任何帮助将不胜感激
答案 0 :(得分:1)
是的,您可能应该为此实现某种着色器,因为它是非常可并行的操作。也就是说,YUV只是一种图像通道格式,与RGB非常相似,但具有以下关系:
有趣的事情之一(可能是为什么需要分离Y和UV的原因之一)是,只有Y,您就可以获得黑白图像。使用紫外线,不仅可以轻松确定G,还可以轻松确定图像处理管线的颜色通道梯度。
有时候,会有一些额外的编码,但是通常归结为归一化。您的视频流可能具有更具体的编码,其中还包括一些压缩。尽管如此,渠道的分离应该很容易:
着色器(真正的GPU处理)可以通过线性代数实现奇观,并且由于分离可以表示为线性变换,所以我会走这条路线。