我使用了 GPUImageGaussianSelectiveBlurFilter
imagePic = [[GPUImagePicture alloc] initWithImage:captureImage];// given a input in gpuimagepicture for process a image
filter = [[GPUImageGaussianSelectiveBlurFilter alloc] init];
[imagePic addTarget:filter];// add a filter for image
// create a view for set a image in that view
imageViewGpu=[[GPUImageView alloc] initWithFrame:CGRectMake((self.view.frame.size.width-OutputImageView.frame.size.width)/2.0, (biManager.displayImageHeight-OutputImageView.frame.size.height)/2.0, OutputImageView.frame.size.width, OutputImageView.frame.size.height)];
imageViewGpu.userInteractionEnabled = YES;
imageViewGpu.frame=OutputImageView.frame;
imageViewGpu.multipleTouchEnabled= YES;
imageViewGpu.backgroundColor = [UIColor clearColor];
imageViewGpu.userInteractionEnabled = YES;
imageViewGpu.fillMode=kGPUImageFillModePreserveAspectRatio;
[self.view addSubview:imageViewGpu];
[(GPUImageGaussianSelectiveBlurFilter *) filter setExcludeCircleRadius:0.3f];
[(GPUImageGaussianSelectiveBlurFilter *) filter setExcludeCirclePoint:CGPointMake(0,0)];
[filter addTarget:imageViewGpu];
[filter prepareForImageCapture];
[imagePic processImage];// get a filter apply image
我的输出是
但是我需要这个输出
我认为这个滤镜非常适合方形图像。但它不能正确处理矩形图像。请帮助我。
最佳答案
将过滤器的 aspectRatio
属性设置为图像的纵横比。
filter.aspectRatio = imagePix.size.width/imagePix.size.height
如果这不起作用交换宽度/高度 :]
关于ios - GPUImageGaussianSelectiveBlurFilter选择区域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729307/