0

在针对 iOS 的 Objective C 中创建非锐化蒙版过滤器的最有效方法是什么?最好实现一些像 ImageMagick 这样的开源或从头开始构建。

我认为基本公式一般如下(如果我没有正确,请发表评论)。

  1. 复制原件
  2. 模糊重复(高斯)
  3. 通过“差异”与原始融合
  4. 使用结果来掩盖原始
  5. 增加原件未遮罩区域的对比度。
4

2 回答 2

1

Core Image 内置了CIUnsharpMask 过滤器,虽然我不确定它是否在 iOS 上可用。Brad Larson 的GPUImage 框架也有一个不清晰的蒙版滤镜。

与交叉编译 ImageMagick 或编写自己的方法相比,这两种方法都应该非常快速且易于实现。

于 2012-06-04T22:51:06.697 回答
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;
}

希望有帮助:)

于 2014-05-14T11:19:58.107 回答