BGRA被读作RGBA

时间:2012-10-09 15:50:57

标签: ios5 opengl-es avcapturesession rgba core-video

我正在使用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。

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

1 个答案:

答案 0 :(得分:2)

  

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

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