【问题标题】:GPUImage - ChromaKeyBlendFilter - sourceImageGPUImage - ChromaKeyBlendFilter - sourceImage
【发布时间】:2015-06-28 19:06:47
【问题描述】:

我有一个GPUImageStillCamera 覆盖在UIView 上(其中正在发生一些实时动画),对于GPUImagePicture,我将sourceImagesmoothlyScaleOutput:YES 一起传递给ChromaKeyBlendFilter

代码完美运行(感谢 Brad Larson!),我得到了一个摄像头画面,其中显示了 sourceImage 处的绿色像素被移除。

我想要做的是传递一个sourceImage,它可以将提要的背景命名为透明,即我不想在绿色像素被移除的背景中显示sourceImage,而是我想要那个像素是透明的。

这是我项目中的图片: 看到中间那个模糊的正方形区域,我希望它是透明的,这样它就可以显示绝对清晰的实际背景图像。现在我将背景图像单独传递给过滤器,它显示的图像模糊。

为了达到同样的效果,我尝试传递透明 PNG,但我得到了黑色背景。 我应该怎么做才能实现我正在寻找的东西? 请建议.. 谢谢!

【问题讨论】:

  • 能否请您制作一个您正在尝试做的模型图像。我读了那段好几次,但我仍然不能完全弄清楚你想要做什么。也许你可以用你现在拥有的和你想要切换的视图来制作Debug View Hierarchy的截图?
  • 请再次检查问题。我添加了截图
  • 我真的很抱歉,但我也无法理解您想要实现的目标。请您改写问题和/或添加您想要实现的最终结果的图像。

标签: ios iphone ipad gpuimage gpuimagestillcamera


【解决方案1】:

您可以尝试使用 UISlider 设置过滤器的“thresholdSensitivity”。

[(GPUImageChromaKeyBlendFilter *)filter setThresholdSensitivity:[(UISlider *)sender value]];

【讨论】:

    【解决方案2】:

    如果我理解正确的话,你想让GPUImageView 的背景透明。如here 所述,您可以通过设置以下两个属性来实现:

    strengthPreviewImageView.backgroundColor = [UIColor clearColor];
    [strengthPreviewImageView setBackgroundColorRed:0 green:0 blue:0 alpha:0];
    

    【讨论】:

    • 我认为这行不通。请再次检查问题。我添加了截图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2015-02-06
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多