gpt4 book ai didi

ios - GPUImage GPUImageChromaKeyBlendFilter 与静止图像

转载 作者:行者123 更新时间:2023-12-01 19:08:10 25 4
gpt4 key购买 nike

我想创建一个 GPUImageView 来实时显示过滤器(而不是继续读取 imageFromCurrentlyProcessedOutput)

是否可以将 GPUImage 的 GPUImageChromaKeyBlendFilter 与静态源图像一起使用,自动更新 GPUImageView?

这是我将其读入 UIImage 的代码;

    UIImage *inputImage = [UIImage imageNamed:@"1.JPG"];
UIImage *backgroundImage = [UIImage imageNamed:@"2.JPG"];

GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:inputImage];
GPUImageChromaKeyBlendFilter *stillImageFilter = [[GPUImageChromaKeyBlendFilter alloc] init];
[stillImageFilter setThresholdSensitivity:0.5];
[stillImageFilter setColorToReplaceRed:0.0 green:1.0 blue:0.0];


[stillImageSource addTarget:stillImageFilter];
[stillImageSource processImage];


UIImage *currentFilteredVideoFrame = [stillImageFilter imageByFilteringImage: backgroundImage ];

到目前为止,我所做的一切都要求您将“背景图像”作为目标添加到过滤器(就像您使用 StillCamera 时一样)。如果将 backgroundImage 添加为目标,GPUImage 只会使用这个新图像作为它的基础图像。

任何人都可以帮忙吗?

谢谢,

最佳答案

不要使用 -imageByFilteringImage:使用双输入滤波器,如混合。这是一种方便的方法,可以快速建立一个基于 UIImage 的小过滤器链并抓取一个 UIImage。无论如何,你不会想要它用于针对 GPUImageView 的东西。

对于色度键混合,您需要使用 -addTarget 按顺序将输入图像(要替换颜色的图像)和背景图像定位到混合。 ,两者都有 GPUImagePicture 实例。然后,您将混合目标定位到 GPUImageView。

请注意,如果您想在此之后继续更新过滤器,则需要在 setup 方法之后保持对 GPUImagePictures 的强引用,因此您可能需要在 Controller 类上将它们设为实例变量。

一旦你以这种方式进行设置,结果将转到你的 GPUImageView。每次调用-processImage在两个图像之一上,您的 GPUImageView 中的显示将被更新。因此,您可以在每次更改过滤器设置后调用它,例如您有一个 slider 来更新过滤器值,并且图像将实时更新。

关于ios - GPUImage GPUImageChromaKeyBlendFilter 与静止图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18546152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com