首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ChromaKey和Sepia过滤器与GPUImage同时使用?

如何将ChromaKey和Sepia过滤器与GPUImage同时使用?
EN

Stack Overflow用户
提问于 2014-08-12 10:10:52
回答 2查看 740关注 0票数 0

我第一次使用布拉德·拉森的GPUImage框架。

我不知道是否可能,但我想使用GPUImageChromaKeyFilterGPUImageSepiaFilter.我可以单独使用它们,但同时,它不起作用。紫色调起作用,但chromaKey似乎不起作用。

编辑2:工作这里是我的代码:

代码语言:javascript
复制
- (void)setupCameraAndFilters:(AVCaptureDevicePosition)cameraPostion {

    videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:cameraPostion];
    videoCamera.outputImageOrientation = UIInterfaceOrientationLandscapeRight;

    // ChromaKey
    chromaKeyFilter = [[GPUImageChromaKeyBlendFilter alloc] init];
    [(GPUImageChromaKeyBlendFilter *)chromaKeyFilter setColorToReplaceRed:0.0 green:1.0 blue:0.0];

    [videoCamera addTarget:chromaKeyFilter];

    // Input image (replace the green background)
    UIImage *inputImage;
    inputImage = [UIImage imageNamed:@"chromaBackground.jpg"];
    sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
    [sourcePicture processImage];
    [sourcePicture addTarget:chromaKeyFilter];

    // Sepia filter
    sepiaFilter = [[GPUImageSepiaFilter alloc] init];
    [chromaKeyFilter addTarget:sepiaFilter];

    [sepiaFilter addTarget:self.filteredVideoView];

    [videoCamera startCameraCapture];
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-12 17:41:23

您的问题是,上面的代码没有真正的意义。在第一个例子中,您让静态图像进入单输入GPUImageChromaKeyFilter,然后尝试将源图像和视频提要对准单输入GPUImageSepiaFilter。这两个输入中的一个将被另一个覆盖。

GPUImageFilterGroups仅仅是将过滤器序列组合在一起的方便类,是一个易于重用的包,在这里不会解决任何问题。

如果您试图将视频与彩色键控图像混合,则需要使用GPUImageChromaKeyBlendFilter,它接受两个输入,并根据键控将它们混合在一起。然后,您可以将该单个输出图像发送到紫色调过滤器,或者您希望对其进行排序。

票数 2
EN

Stack Overflow用户

发布于 2014-08-12 10:28:54

你必须使用GPUImageFilterGroup过滤器来完成你想要的事情。在GPUImage的示例中,您可以找到如何实现这一目标。祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25261673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档