【发布时间】:2016-01-06 20:04:56
【问题描述】:
我使用CIColorMonochromeFilter 调整为白色创建了我认为应该是适当的灰度CIFilter。这对我来说看起来很灰度,但我也不是专家,所以我只是想知道这是否是灰度过滤器的准确实现。
我还没有编写代码来转储和测试像素,但是基于图像的格式已经是 RBG,我很好奇输出图像的格式。例如,我将如何知道每个像素是一个组件还是三个组件?
我知道CIImage 只是图像的配方,我必须使用CGImageRef 最终渲染到。我只是不明白我应该期望数据是什么像素格式。
CIFilter * monoChromeFilter = [CIFilter filterWithName:kCIColorMonochromeFilterName];
[monoChromeFilter setValue:self.inputImage forKey:kCIInputImageKey];
CIColor * white = [CIColor colorWithRed:1.0 green:1.0 blue:1.0];
[monoChromeFilter setValue:white forKey:kCIInputColorKey];
【问题讨论】:
-
那么问题是什么?只是你不知道如何读取图像的像素值吗?这在 Stack Overflow 上有很好的记录。
-
我所做的或多或少实际上是一个适当的灰度过滤器,例如单色白色 == 灰度。我对输出格式很好奇,尽管这只是次要问题。
标签: ios objective-c core-image grayscale cifilter