ios图像文本和颜色增强过滤器

ios图像文本和颜色增强过滤器,ios,objective-c,iphone,image-processing,uiimage,Ios,Objective C,Iphone,Image Processing,Uiimage,我正在尝试CIFilter和GPUImage filter在图像上应用各种效果(亮度、对比度、饱和度等),但我遇到了困难,需要进行如下所示的增强: 增强过滤器之前 增强后过滤器 我尝试的CIFilter代码: NSDictionary *options = @{ CIDetectorImageOrientation : [[resultImage properties] valueForKey:kCGImagePropertyOr

我正在尝试CIFilter和GPUImage filter在图像上应用各种效果(亮度、对比度、饱和度等),但我遇到了困难,需要进行如下所示的增强:

增强过滤器之前

增强后过滤器

我尝试的CIFilter代码:

NSDictionary *options = @{ CIDetectorImageOrientation :
                               [[resultImage properties] valueForKey:kCGImagePropertyOrientation] };
NSArray *adjustments = [resultImage autoAdjustmentFiltersWithOptions:options];
for (CIFilter *filter in adjustments) {
    [filter setValue:resultImage forKey:kCIInputImageKey];
    resultImage = filter.outputImage;
}
GPUImage过滤器:

UIImage *inputImage = [UIImage imageNamed:@"Msource.png"];
GPUImageAdaptiveThresholdFilter *stillImageFilter = [[GPUImageAdaptiveThresholdFilter alloc] init];
stillImageFilter.blurRadiusInPixels = 10.0;// adjust this to tweak the blur radius of the filter, defaults to 4.0

UIImage *filteredImage = [stillImageFilter imageByFilteringImage:inputImage];

在此处输入代码//希望这有帮助,在swift 3中:

        var aCIImage = CIImage();
        var contrastFilter: CIFilter!;
        var brightnessFilter: CIFilter!;
        var gaussianBlurFilter: CIFilter!;
        var pointFilter: CIFilter!;
        var vignettFilter : CIFilter!;
        var context = CIContext();
        var outputImage = CIImage();
        var newUIImage = UIImage();
        var finalImage = UIImage()

       DispatchQueue.main.async
                        {
                            self.gaussianBlurFilter = CIFilter(name: "CIExposureAdjust");
                            self.gaussianBlurFilter.setValue(self.aCIImage, forKey: "inputImage")

                            self.gaussianBlurFilter.setValue(NSNumber(value: sender.value), forKey: "inputEV");

                            self.outputImage = self.gaussianBlurFilter.outputImage!;

                            let imageRef = self.context.createCGImage(self.outputImage, from: self.outputImage.extent)

                            self.newUIImage = UIImage(cgImage: imageRef!)
                            self.testView?.image = self.newUIImage;
                    }


 // 

链接:用于演示项目


感谢您的回复,我将更新我的问题您想使用什么过滤器?您知道您的示例图像使用的是什么过滤器吗?看起来像褪色?我想这也可以通过“CIExposureAdjust”过滤器实现。希望我能帮助你。不知道为什么它对你不起作用,但它是一个经过测试的代码。我执行了与你相同的操作。我也附上了一张图片,请看一下。最初它是一个沉闷的图像,此图像是在应用过滤器后生成的。@SwiftyCodes您可以使用Asker自己的图像更新测试:@VC.One现在查看上传的图像!虽然贴纸视图中的图像未满,但您仍然可以看到已应用的效果,我猜它正在工作!我还使用了一个滑块来减少和增加曝光调整强度,就像我使用GPUImage过滤器一样,但仅限于swift。我希望我能帮助你:)谢谢你的更新。现在提问者可以看到这个答案如何适用于他们的问题/形象。