如何在Core Image中输出单通道像素数据?

时间:2015-11-16 01:29:58

标签: ios image-processing filter histogram core-image

我创建一个由单通道浮点数据组成的CIImage(其中每个值都是32位浮点数,但数据本身不是颜色数据)。

我通过构建缓冲区并用NSData对象包装它来完全创建这个图像。然后,我将该NSData对象存储在NoSQL对象存储中并稍后检索它,并使用格式为+[CIImage imageWithBitmapData]的{​​{1}}创建CIImage。

当创建CIContext以通过我的自定义过滤器放置CIImage时,我认为我需要设置kCIFormatRf(因为此格式认为每个像素为32位浮红'单&# 39;组件)。虽然当我这样做时,我在尝试运行过滤器时看到一条错误消息。

  

CIContext workingformat必须是kCIFormatBGRA8,kCIFormatRGBA8,   kCIFormatRGBAh或者没有。忽略Rf。

的请求

我将工作和输出颜色空间设置为null,这样数据就不会以任何方式改变。

内核本身只输出当前像素,例如kCIContextWorkingFormat to kCIFormatRf

但是出来的数据并不是输入的数据。就像输出中的每个浮点数都写入了所有4个组件一样。但我希望输出有效地是单通道,只需返回第一个组件的浮点数。

这可能吗?必须是因为CIAreaHistogram可以输出单通道数据。

0 个答案:

没有答案