Ios 捕获从未压缩过的iPhone摄像头数据

Ios 捕获从未压缩过的iPhone摄像头数据,ios,camera,compression,avfoundation,Ios,Camera,Compression,Avfoundation,有谁能告诉我,是否有可能从iPhone上的摄像头捕获从未压缩过的数据 我知道使用AVFoundation framework可以将密钥kCVPixelBufferPixelFormatTypeKey指定为kCVPixelFormatType_32BGRA,我已经这样做了,但在检查结果文件时,在我看来,这只是告诉框架将BGRA格式的帧数据存储在缓冲区中,而不是JPEG格式。实际数据似乎来自指定的压缩类型,只是已解压缩到缓冲区中的JPEG数据。当我拍摄文本文档时,字符周围会出现JPEG伪影。有谁能告

有谁能告诉我,是否有可能从iPhone上的摄像头捕获从未压缩过的数据


我知道使用AVFoundation framework可以将密钥kCVPixelBufferPixelFormatTypeKey指定为kCVPixelFormatType_32BGRA,我已经这样做了,但在检查结果文件时,在我看来,这只是告诉框架将BGRA格式的帧数据存储在缓冲区中,而不是JPEG格式。实际数据似乎来自指定的压缩类型,只是已解压缩到缓冲区中的JPEG数据。当我拍摄文本文档时,字符周围会出现JPEG伪影。有谁能告诉我,是否有一种方法可以将非压缩设置指定为压缩类型,或者是否有其他方法可以访问从未经过有损压缩过程的直接相机输出?

是的,这是可能的,并且是按照您看起来的方式完成的(正如Brad Larson在评论中所描述的那样)

有问题的数据没有被压缩。然而,这并不意味着它一定是一流的


你看到的“人工制品”很可能是传感器噪音(iPhone摄像头传感器很小,在最好的时候会产生噪音,ISO越高,噪音越快!)。另外,虽然图像没有被压缩,但原始原始数据已经通过Beyer插值以及诸如白平衡调整、ISO放大(如果需要)等处理,并且似乎还有一定程度的锐化。

我不知道在使用像这里这样的代码抓取图像缓冲区时,我见过这样的伪影:。当您将相机帧作为YUV拖动时,是否仍能看到这些瑕疵?YUV 4:2:2帧的原始输出确实会丢失一点保真度,但我们无法访问原始数据来进行我们自己的拜耳插值,因此这是我们能够实现的最好结果。