如何从Objective-C中的.tiff图像中提取原始数据

时间:2013-09-26 08:32:46

标签: objective-c image tiff feature-extraction

我有一些项目,其中我必须处理生成的.tiff格式的图像中的一些原始数据。我只能访问图像位置。现在,我想从图像中提取一些原始信息,如图像中的像素数,不。每像素位数,没有。颜色成分等。

我正在开发一个关于MAC OS的项目,因此,为了与Apple API交谈,正在使用Objective-C

如果可能的话,有人可以建议一些技术或一些Apple API,这可以帮助我从图像中提取所需的技术吗?

P.S。:我实际上更喜欢.tiff格式,因为.jpeg是有损压缩。

1 个答案:

答案 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);