如何从图像中删除普通背景颜色

时间:2015-04-28 06:21:43

标签: ios objective-c

我想清除图像中的普通背景颜色。

例如,

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

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

任何帮助都将受到高度赞赏。

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

2 个答案:

答案 0 :(得分:1)

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开始。每个值都是图像颜色空间中的组件数。

答案 1 :(得分:0)

您应该使用CGFloat而不是float。

const CGFloat colorMasking[6] = {minRed, maxRed, minGreen, maxGreen, minBlue, maxBlue};