2

iPhone アプリ内で極端なカスタム色温度調整を行いたいのですが、理解しようとしています: AVFoundation と CoreImage フィルターを使用した場合の違いは何ですか?

RAW で写真を撮影すると、RAW ファイルは、カメラ センサーからの画像情報を JPEG ファイルや TIFF のようなロスレス形式よりも多く記録します。このため、 RAW ファイルでしか真の事後ホワイトバランスを行うことができないと思っていましたが、このキヤノンの広報担当者もそう考えているようです .

iOS ではカメラ データの RAW のような表現にアクセスできないため、キャプチャの時点で iOS カメラ システム自体を使用して色温度と色合いを調整する必要があると推測しました。AVFoundation は、iOS8 で導入された、このための API を提供します。を介して、サポートされている色温度調整の範囲をデバイスに問い合わせることができますdeviceWhiteBalanceGainsForTemperatureAndTintValues(_:)。(これにより、温度/色合いのペアを使用してホワイト バランス ゲインを計算でき、デバイスは許容される最大ホワイト バランス ゲインを報告します。)

ただし、Core Imageは、 を介して画像の色温度を調整するための API も提供しますCITemperatureAndTint。Core Image は RAW データを必要とせず、デバイスのカメラ システムへの特権アクセスを持っていないため、これは私を混乱させます。

真のホワイト バランスと色温度の調整を RAW データでしか行うことができず、iOS がこの情報を提供しない場合、Core Image はどうすればそれを行うことができるでしょうか? さらに、AVFoundation がデバイスに応じて異なる調整を許可する場合、Core Image はどのようにしてデバイスに依存しない方法でそれを行うことができるでしょうか?

Core Image は、AVFoundation がより良く、より多くのデータを使用して行っていることの大まかな概算を行っているだけですか? それとも、AVFoundation のホワイト バランス ルーチンは、既存の Core Image フィルターの高レベルのラッパーに過ぎないのでしょうか?

これを尋ねる別の方法は、 AVFoundation の色補正ルーチンが、 や のような比較的低レベルの API を使用して、自分ではアクセスできなかったセンサー データへの特権アクセスから恩恵を受けているかどうかを尋ねることだと思いcaptureStillImageAsynchronouslyFromConnection(_:completionHandler:)ますCMSampleBufferGetImageBuffer

4

0 に答える 0