IOS上的图像处理过滤器,如白平衡,曝光,分离音等

Naw*_*waz 6 iphone image-manipulation image-processing objective-c ios

我已经尝试了一个星期来为我的IOS应用程序实现一些图像处理过滤器,如WHITE BALANCE,EXPOSURE和SPLIT TONING(如在Photoshop中),但我没有得到任何标准实现来实现它们.

我找到了通过ImageMagick实现它们的shell脚本

但不知道如何将这些脚本更改为C语言或目标C中的等效脚本.我只是使用一些转换命令来完成神奇的事情.

提前致谢.请帮忙.

通过改变图像的温度和色调也可以实现白平衡.所以,如果那里有人知道如何操纵这些色调和图像的温度,请帮我解决这个问题.谢谢.

Ing*_*gve 14

从iOS 5开始,可以使用Core Image过滤器.

假设您已在Interface Builder中添加了名为imageView的UIImageView IBOutlet,并使用图像文件进行设置,这是一个非常简单的示例.

  1. 添加CoreImage框架.
  2. #import <CoreImage/CoreImage.h>
  3. viewDidLoad,添加以下内容:

    CIImage *inputImage = [[CIImage alloc] initWithImage:self.imageView.image];
    CIFilter *exposureAdjustmentFilter = [CIFilter filterWithName:@"CIExposureAdjust"];
    [exposureAdjustmentFilter setDefaults];
    [exposureAdjustmentFilter setValue:inputImage forKey:@"inputImage"];
    [exposureAdjustmentFilter setValue:[NSNumber numberWithFloat:5.0f] forKey:@"inputEV"];
    CIImage *outputImage = [exposureAdjustmentFilter valueForKey:@"outputImage"];
    CIContext *context = [CIContext contextWithOptions:nil];
    self.imageView.image = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]];
    
    Run Code Online (Sandbox Code Playgroud)

另一种选择可能是使用GitHub ios-image-filters项目中的过滤器.


esi*_*ver 9

作为ios-image-filters的作者,我可以告诉你,我们的项目有一个可以用来修改白平衡的水平方法.它作为UIImage上的类别实现并模仿Photoshop滤镜,因此调用它就像下面这样简单:

[self.imageView.image levels:0 mid:128 white:255];
Run Code Online (Sandbox Code Playgroud)

此外,它与iOS 3和4兼容,而不仅仅是iOS 5.它是开源的,没有依赖关系,因此如果找不到所需的过滤器,应该很容易修改.