iOS版。播放视频与绿色背景相机视图与GPUImage

时间:2017-03-06 08:23:18

标签: ios gpuimage chromakey

我有一个绿色背景的视频,我想在实时相机视图上显示它并删除绿色背景。我还想在单独的视图中显示它,以便用户可以移动或调整视频大小。这可能与GPUImage有关吗?你能描述一下这样做的必要步骤吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的! 您可以按照以下方式设计过滤器链:

GPUImageVideoCamera --> your GPUImageTwoInputFilter --> live camera GPUImageView
Your GPUImageMovie --> your GPUImageTwoInputFilter
Your GPUImageMovie --> separate GPUImageView

您必须编写自己的GPUImageTwoInputFilter以在实时相机(inputImageTexture)上叠加绿色背景视频(inputImageTexture2)。在glsl片段着色器中,在main中添加以下代码:

texel = texture2D(inputImageTexture, textureCoordinate);
texel2 = texture2D(inputImageTexture2, textureCoordinate);
if (texel2.g > Tg && texel2.r < Tr && texel2.b < Tb) {
    gFragColor = texel;
} else {
    gFragColor = texel2;
}

用Tr,Tg,Tb是确定哪个是绿色背景的阈值