我一整天都在努力,我无法找到错误的位置。这是我第一次使用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;
提前致谢。
答案 0 :(得分:4)
正如我在评论中所述,您需要致电:
[blackAndWhiteGroup useNextFrameForImageCapture];
致电之前:
[stillImage processImage];
这是针对GPUImage库的更新版本。希望这有助于解决未来的问题!