GPUImageFilterGroup返回黑色图像

时间:2014-03-25 01:45:55

标签: ios gpuimage

我一整天都在努力,我无法找到错误的位置。这是我第一次使用GPUImage的经历。我正在关注GitHub中的问题以及我在这里找到的问题,但没有运气。

我的GPUImageFilterGroup正在返回一张黑色图片,但我正在使用的组中的过滤器是单独使用的。我只是想在静止图像上编辑饱和度和水平。

GPUImageFilterGroup* blackAndWhiteGroup = [[GPUImageFilterGroup alloc] init];

GPUImageSaturationFilter *satuaration = [[GPUImageSaturationFilter alloc] init];
[satuaration setSaturation:0.0];

GPUImageLevelsFilter *levels = [[GPUImageLevelsFilter alloc] init];
[levels setMin:56.0/255.0 gamma:1.15 max:255.0/255.0];

[blackAndWhiteGroup addFilter:satuaration];
[blackAndWhiteGroup addFilter:levels];

[satuaration addTarget:levels];

[blackAndWhiteGroup setInitialFilters:[NSArray arrayWithObject:satuaration]];
[blackAndWhiteGroup setTerminalFilter:levels];

我尝试了两种不同的方法将滤镜应用到图像中,但对我来说都不适用,但我认为这就是我的问题所在。

首次尝试:

GPUImagePicture *stillImage= [[GPUImagePicture alloc] initWithImage:takenPhoto];
[stillImage addTarget:blackAndWhiteGroup];
[stillImage processImage];

UIImage *blackAndWhiteFilteredImage = [blackAndWhiteGroup imageFromCurrentFramebuffer];
self.imageView.image = blackAndWhiteFilteredImage;

第二次尝试:

UIImage *blackAndWhiteFilteredImage = [blackAndWhiteGroup imageByFilteringImage:takenPhoto];
self.imageView.image = blackAndWhiteFilteredImage;

提前致谢。

1 个答案:

答案 0 :(得分:4)

正如我在评论中所述,您需要致电:

[blackAndWhiteGroup useNextFrameForImageCapture];

致电之前:

[stillImage processImage];

这是针对GPUImage库的更新版本。希望这有助于解决未来的问题!