我有一些项目,其中我必须处理生成的.tiff
格式的图像中的一些原始数据。我只能访问图像位置。现在,我想从图像中提取一些原始信息,如图像中的像素数,不。每像素位数,没有。颜色成分等。
我正在开发一个关于MAC OS的项目,因此,为了与Apple API交谈,正在使用Objective-C
。
如果可能的话,有人可以建议一些技术或一些Apple API,这可以帮助我从图像中提取所需的技术吗?
P.S。:我实际上更喜欢.tiff
格式,因为.jpeg
是有损压缩。
答案 0 :(得分:3)
也许这段代码会对你有所帮助,NSImage已经包含宽度和高度,所以你可以计算像素数。
NSImage *image = [[NSImage alloc] initWithContentsOfFile:[@"~/Desktop/image.tiff" stringByExpandingTildeInPath]];
NSData *imageData = [image TIFFRepresentation];
CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef)CFBridgingRetain(imageData), NULL);
CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);
NSUInteger numberOfBitsPerPixel = CGImageGetBitsPerPixel(imageRef);
NSLog(@"Number Of Bits Per Pixel %lu", (unsigned long)numberOfBitsPerPixel);