AVFoundation是否比CoreImage做更好的色彩调整?

时间:2015-08-22 22:54:17

标签: avfoundation core-image ios-camera

我想在iPhone应用程序中进行一些极端的自定义色温调整,我试图理解:使用AVFoundation与CoreImage过滤器之间有什么区别?

使用RAW拍摄照片时,RAW文件会记录来自相机传感器的图像信息,而不是JPEG文件或TIFF等无损格式。我认为因为这个你只能用RAW文件实现真正的白平衡,而这Canon spokesman seems to think so too

由于iOS不允许您访问类似RAW的摄像机数据表示,因此我假设您需要在捕获时使用iOS摄像机系统本身进行色温和色调调整。 AVFoundation为iOS8提供了API。它可以通过deviceWhiteBalanceGainsForTemperatureAndTintValues(_:)为您query a device for its supported range of color temperature adjustments。 (这使您可以使用温度/色调对计算白平衡增益,并且设备会报告其允许的最大白平衡增益。)

然而,图像的核心图像also provides API for adjusting the color temperature,来自CITemperatureAndTint。这让我感到困惑,因为Core Image不需要RAW数据或有权访问设备的相机系统。

如果您只能使用RAW数据进行真正的白平衡和色温调整,并且iOS不会向您提供此信息,那么Core Image如何才能完成此操作呢?此外,如果AVFoundation允许根据设备进行不同的调整,那么Core Image如何以独立于设备的方式进行调整呢?

Core Image是否只是对AVFoundation做得更好以及更多数据的粗略近似?或者AVFoundation白平衡例程只是现有Core Image过滤器的高级包装器吗?

我想另一种问这个问题的方法是询问AVFoundation的色彩校正程序是否受益于对我无法访问的传感器数据的特权访问,使用相对较低级别的API,如captureStillImageAsynchronouslyFromConnection(_:completionHandler:)CMSampleBufferGetImageBuffer

0 个答案:

没有答案