我想做两件事:
1)将8位灰度图像加载为8但是灰度图像
2)将其保存为8位灰度图像
我尝试通过[CIImage imageWithContentsOfURL:options]`将图像加载到CIImage。 据我所知,我可以在项目选项中指定一些选项。但我没有找到任何信息如何做到这一点。在参考CIImage时,我发现只有这些像素格式:
extern CIFormat kCIFormatARGB8;
extern CIFormat kCIFormatRGBA16;
extern CIFormat kCIFormatRGBAf;
extern CIFormat kCIFormatRGBAh;
这是什么意思?我无法通过CIImage加载和保存8位灰度图像?
答案 0 :(得分:1)
不,8位灰度没有格式。你想做什么?还有其他方法可以使用8位灰度来创建图像,但没有更多信息,很难告诉您要建议什么。
如果您要使用CoreImage来操作它,您需要将其置于上面提到的RGB格式之一。但是如果您不打算使用CoreImage来操作它,您可能能够以格式创建NSImage
(通过创建NSBitmapImageRep
)或CGImage(请参阅CGImageCreate()
)你想要的。
答案 1 :(得分:0)
将 CIImage 保存为灰度图像格式就像这样简单:
CGColorSpaceRef cs = CGColorSpaceCreateWithName(kCGColorSpaceGenericGrayGamma2_2);
NSData *outData = [ctx PNGRepresentationOfImage:input
format:kCIFormatL8
colorSpace:cs
options:@{}];