为什么AVCaptureExposureModeContinuousAutoExposure的iphone4S曝光调整如此之慢?

时间:2011-11-06 13:17:32

标签: iphone camera avfoundation

我正在开发的App使用AVFoundation来启动视频会话并应用一些图像处理。为了使处理工作,照明条件不能太亮(相机的曝光不应太高)。

到目前为止,在所有iOS设备上,从黑暗场景(如我的黑色桌面)切换到灯光场景(显示要处理的图像的计算机屏幕)最多只需2-3秒即可完成调整曝光

然而,在iphone4S上,这需要更长的时间,5-6秒,这对用户体验来说是不可接受的。有没有人有同样的问题?我尝试过使用3种相机曝光设置:

AVCaptureExposureModeAutoExpose,

AVCaptureExposureModeContinuousAutoExposure,

AVCaptureExposureModeLocked

将其设置为:

    NSError *error = nil;
    NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    AVCaptureDevice *captureDevice = [devices objectAtIndex:0];

    if ([captureDevice lockForConfiguration:&error]) 
    {
        // Setup the device with the necessary settings
        if([captureDevice isExposureModeSupported:AVCaptureExposureModeAutoExpose])
        {
             captureDevice.exposureMode = AVCaptureExposureModeAutoExpose;
        }            
        [captureDevice unlockForConfiguration];
    }
    else 
    {
        // handle failure
    }   

但问题仍然存在。我得到的最接近解决方案是使用AVCaptureExposureModeLocked,但这会将相机启动时的曝光设置锁定到当前级别。这意味着如果视频在光线条件下启动,图像处理工作效果非常好,但如果视频在黑暗条件下启动,则几乎不可能在计算机屏幕上处理任何内容,因为它太亮(显然曝光赢了)不要调整。

我的问题如下:无论如何都要直接在后置摄像头上设置曝光设置(而不是通过“曝光模式”),如果没有,是否有任何可以加速曝光调整的东西?

我觉得很烦人iphone4S上的官方相机应用程序根本没有这个问题,因为那里的曝光在从非常暗到非常轻的不到2秒内发生变化。非常感谢任何建议!

0 个答案:

没有答案