在针对iOS的Objective C中创建非锐化遮罩滤镜的最有效方法是什么?是否最好实现像ImageMagick这样的开源或从头开始构建。
我认为基本公式通常如下(如果我没有做对,请发表评论)。
答案 0 :(得分:1)
Core Image内置CIUnsharpMask filter,但我不确定它是否可在iOS上使用。 Brad Larson的GPUImage framework也有一个非锐化的蒙版过滤器。
与交叉编译ImageMagick或编写自己的方法相比,这两种方法都应该非常快速且易于实现。
答案 1 :(得分:1)
(UIImage *)useOfUnsharpMask:(CIImage *)beginImage
{
float sliderValue = sharpnessSlider.value;
CIFilter *filter = [CIFilter filterWithName:@"CIUnsharpMask" keysAndValues:kCIInputImageKey,beginImage,@"inputIntensity",[NSNumber numberWithFloat:sliderValue],@"inputRadius",@2.50, nil];
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *outputImage = [filter valueForKey: @"outputImage"];
UIImage *finalImage = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]];
return finalImage;
}
希望有所帮助:)