ios图像文字和颜色增强过滤器
我想CIFilter和GPUImage过滤器应用图像上的各种效果(亮度,对比度,饱和度等),但我很挣扎,需要像下面显示的增强:ios图像文字和颜色增强过滤器
增强滤波器之前
增强后过滤
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];
在此处输入代码//希望这有助于其迅速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;
}
//
https://i.stack.imgur.com/s1STp.png
https://i.stack.imgur.com/uU0Oz.png
链接:对于演示项目。
https://drive.google.com/open?id=0B-EIC_4IXtA9UjFwT3o0dXI1OTA
我想这也可以通过“CIExposureAdjust”过滤器来实现。希望我能够帮助你。 –
感谢你的回答,它不工作 –
不知道为什么它不适合你,但它的测试代码。我已经执行了与你一样的操作。我附上了一张图片,请看看它。最初,这是一个沉闷的图像,这张图片是在应用滤镜之后。 –
感谢乌拉圭回合的反应,我会更新我的问题 –
你想用什么过滤器?你知道你的示例图像正在使用什么过滤器 - 看起来像一个淡出? –