0

AVCapture Foundation を使用して、デリゲート コールバックを介して (iPhone 4 のフロント カメラから) 画像を取得しています。次の形式で BGRA を指定しました。

self.theOutput.videoSettings = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];

ここで、self.output は AVCaptureVideoDataOutput 型です。

そして、画像を正しくプレビューできます。

  1. 個々のピクセル RGB をテストして理解を深める簡単な方法を見つけようとしましたが、たとえばカメラの上に青いカードをかざしましたが、予想される 0,0,255 とは対照的に、数値は 80 ~ 110 の間で変動します。

  2. 白いカードをカメラにかざすと、RGB ごとに 255 と予想されますが、すべてで 120 に近づいています。白は全品50%引きのようです。何らかの理由?しかし、カメラに直接光を当てると、RGB 要素ごとに 255 になります。

ここで基本的な理解が欠けているように感じます。

4

1 に答える 1

3

RGB ごとに 255 を期待しますが、全体で 120 に近づいています。

カメラは、最適な画像を取得するために露出を自動的に調整しようとします。この場合、画像の平均輝度が約 128 であると想定し、その値を取得するように調整します。カメラは、紙の前に持っている紙が白、黒、または中間の灰色であるかどうかを判断できないため、中間の灰色であると見なされます。

于 2012-10-10T20:30:11.390 に答える