我创建一个由单通道浮点数据组成的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可以输出单通道数据。