GPUImage组过滤器

Nar*_*mar 1 image ios gpuimage

我试图在iPhoto应用程序中看到的单个视图中实现亮度,对比度和曝光滤镜.我试图建立组过滤器来做同样的事情.但它显示白色屏幕而不是修改图片.这是我申请的代码.

 GPUImageFilterGroup *groupFilter = [[GPUImageFilterGroup alloc]init];
    GPUImageBrightnessFilter *brightnessFilter = [[GPUImageBrightnessFilter alloc]init];
    [brightnessFilter setBrightness:brightnessValue];
    GPUImageContrastFilter *contrastFilter = [[GPUImageContrastFilter alloc]init];
    [contrastFilter setContrast:contrastValue];
    GPUImageExposureFilter *exposureFilter =[[GPUImageExposureFilter alloc]init];
    [exposureFilter setExposure:exposureValue];
    [groupFilter addFilter:brightnessFilter];
    [groupFilter addFilter:contrastFilter];
    [groupFilter addFilter:exposureFilter];
     GPUImagePicture *stillImage= [[GPUImagePicture alloc]initWithImage:self.imageToModify];
    [stillImage addTarget:groupFilter];


    [stillImage processImage];

    previewPicture.image = [groupFilter imageFromCurrentlyProcessedOutputWithOrientation:self.imageToModify.imageOrientation];
Run Code Online (Sandbox Code Playgroud)

我甚至尝试将每个单独放置但仍然显示白色图像.以上代码我使用的是正确的吗?我也试过使用GPUImageFilterPipeline而不是GPUImageFilterGroup但仍然有相同的问题.为了记录,图像是静止图像而不是实时馈送.

Hin*_*ndu 5

你错过了一些代码声明,如下所示.

   [brightnessFilter addTarget: contrastFilter];
   [contrastFilter addTarget: exposureFilter];

  [(GPUImageFilterGroup *) groupFilter setInitialFilters:[NSArray arrayWithObject: brightnessFilter]];
  [(GPUImageFilterGroup *) groupFilter setTerminalFilter:exposureFilter];
Run Code Online (Sandbox Code Playgroud)

谢谢