我有分层滤波器,所有看上去都很好的图像,我正在使用,但如果我改变高斯模糊参数,要么更高,要么更低,没有明显的差异,在模糊效果。我做错什么了?
这是我的代码:
GPUImageView *finalView;
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *topLayer = [UIImage imageNamed:@"Glass.png"];
UIImage *baseLayer = [UIImage imageNamed:@"BasePhoto.png"];
GPUImagePicture *stillImageSourceTop = [[GPUImagePicture alloc] initWithImage:topLayer];
GPUImagePicture *stillImageSourceBottom = [[GPUImagePicture alloc] initWithImage:baseLayer];
GPUImageScreenBlendFilter *screenBlendFilter = [[GPUImageScreenBlendFilter alloc] init];
GPUImageBrightnessFilter *brightnessFilter = [[GPUImageBrightnessFilter alloc] init];
GPUImageContrastFilter *contrastFilter = [[GPUImageContrastFilter alloc] init];
GPUImageSaturationFilter *saturationFilter = [[GPUImageSaturationFilter alloc] init];
GPUImageColorMatrixFilter *colorMatrixFilter = [[GPUImageColorMatrixFilter alloc] init];
GPUImageOpacityFilter *opacityFilter = [[GPUImageOpacityFilter alloc] init];
opacityFilter.opacity = 0;
GPUImageGaussianBlurFilter *blurFilter = [[GPUImageGaussianBlurFilter alloc]init];
blurFilter.texelSpacingMultiplier = 4.0;
blurFilter.blurRadiusInPixels = 200.0;
blurFilter.blurPasses = 4;
[stillImageSourceTop addTarget:brightnessFilter];
[brightnessFilter addTarget:contrastFilter];
[contrastFilter addTarget:saturationFilter];
[saturationFilter addTarget:colorMatrixFilter];
[colorMatrixFilter addTarget:blurFilter];
[blurFilter addTarget:opacityFilter];
[stillImageSourceTop processImage];
[opacityFilter useNextFrameForImageCapture];
UIImage *topLayerImage = [opacityFilter imageFromCurrentFramebuffer];
GPUImagePicture *stillImageSourceTopWithFilters = [[GPUImagePicture alloc] initWithImage:topLayerImage];
[stillImageSourceBottom addTarget:screenBlendFilter];
[stillImageSourceTopWithFilters addTarget:screenBlendFilter];
[screenBlendFilter useNextFrameForImageCapture];
[stillImageSourceBottom processImage];
UIImage *mergedlayeredimage = [screenBlendFilter imageFromCurrentFramebuffer];
[finalImageView setImage:mergedlayeredimage];}
发布于 2014-05-07 23:30:58
嗯,这是因为上面提到的大多数过滤器实际上什么都不做。您所连接的唯一过滤器是screenBlendFilter,在这里,您可以将源图像放入其中,然后从其中提取一个图像。你从来没有实际使用模糊在那里的任何东西,所以它当然不会影响输出任何。
https://stackoverflow.com/questions/23525422
复制相似问题