我想做两件事:
1)加载8位灰度图像为8,但灰度图像
2)另存为8位灰度图像
我尝试通过CIImage imageWithContentsOfURL:options`将图像加载到CIImage。据我所知,我可以在项目选项中指定一些选项。但我没有找到任何如何做到这一点的信息。在参考CIImage时,我发现只有以下像素格式:
extern CIFormat kCIFormatARGB8;
extern CIFormat kCIFormatRGBA16;
extern CIFormat kCIFormatRGBAf;
extern CIFormat kCIFormatRGBAh;什么意思?我无法通过CIImage加载和保存8位灰度图像?
发布于 2013-01-24 13:48:53
不,没有8位灰度的格式。你想做什么?还有其他方法可以使用8位灰度创建图像,但如果没有更多信息,很难告诉你该建议什么。
如果你打算使用CoreImage来操作它,你需要把它转换成上面提到的一种RGB格式。但是如果您不打算使用CoreImage来操作它,那么您也许能够以您想要的格式创建一个NSImage (通过创建一个NSBitmapImageRep)或一个CGImage (请参阅CGImageCreate())。
发布于 2021-04-13 09:13:22
将CIImage保存为灰度图像格式非常简单:
CGColorSpaceRef cs = CGColorSpaceCreateWithName(kCGColorSpaceGenericGrayGamma2_2);
NSData *outData = [ctx PNGRepresentationOfImage:input
format:kCIFormatL8
colorSpace:cs
options:@{}];https://stackoverflow.com/questions/14473982
复制相似问题