ios - 如何从图像中删除纯背景颜色

标签 ios objective-c

我想清除图像中的纯背景色。

例如,

如果我有一张人站在绿色背景前的照片,我希望从图像中删除绿色。

是否有任何代码或 API/SDK 可以执行此功能。

我们将不胜感激任何帮助。

@John Rogers - 当我尝试运行您的代码时,出现以下错误。我做错了什么吗? enter image description here

最佳答案

UIImage *image = [UIImage imageNamed:@"image.png"];

const CGFloat colorMasking[6] = {minRed, maxRed, minGreen, maxGreen, minBlue, maxBlue};
image = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(image.CGImage, colorMasking)];

其中 min 从 0 开始,max 从 0 开始。每个值都是图像颜色空间中的分量数。

关于ios - 如何从图像中删除纯背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29911780/

相关文章:

ios - 在 Swift 4 中用一根手指进行旋转

objective-c - 如何使用 swift 2.0 在 Xcode 7 beta 6 (7A192o) 中桥接 Objective-C?

objective-c - 如何在警报面板中添加复选框?

objective-c - Cocoa:在实时窗口调整大小期间更新 NSWindow 内容 View 之外的 View ?

objective-c - 获取数组中出现次数最多的 NSString

iphone - 硬件加速图像比较/搜索?

objective-c - 我可以在基本的 "foundation" Objective-C 文件中建立异步 NSURL 连接吗?

iphone - 处理 iPhone 上的注销功能

objective-c - UIViews 太多会导致延迟

ios - 如何在同一个 ViewController 中禁用特定 UITextField 的键盘?