0

我正在使用 AVCapture 基础通过委托回调检索图像(来自 iphone 4 前置摄像头)。我已将 BGRA 指定为以下格式:

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

其中 self.output 的类型为 AVCaptureVideoDataOutput。

我可以正确预览图像。

  1. 我一直在尝试找到一种简单的方法来测试单个像素 RGB 以试图更好地理解,例如在相机上拿着一张蓝卡,但数字只是在 80-110 之间波动,而我预期的 0,0,255 给出了什么?

  2. 当我将一张白卡放在相机上时,我预计每个 RGB 为 255,但我已经接近 120。似乎它在白色上将所有数字都打折了 50%。任何原因?但是当我让直射光照射到相机上时,每个 RGB 元素得到 255。

我觉得我在这里缺少一些基本的理解。

4

1 回答 1

3

我希望每个 RGB 有 255 个,但我已经接近 120 个。

相机将尝试自动调整其曝光以获得最佳照片。在这种情况下,它可能假设图像的平均亮度应该在 128 左右,并且它会调整以获得该值。相机无法判断您面前的纸张是白色、黑色还是中灰色,因此它假定它必须是中灰色。

于 2012-10-10T20:30:11.390 回答