首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置iOS摄像头应用程序设置

设置iOS摄像头应用程序设置
EN

Stack Overflow用户
提问于 2012-10-31 19:51:42
回答 1查看 1.3K关注 0票数 1

当我打开iOS的默认相机应用程序时,每当我在场景中进行更改时,我都能看到一个蓝色的大方块,我认为这可以解决曝光问题。如果我点击某处,它会设置感兴趣的曝光点,但新的框非常小。是否在iOS中,默认相机使用较大的区域来设置曝光,但如果我显式设置一个感兴趣的曝光点,则会考虑该点周围的较小区域?

如果我想为使用AVFoundation构建的我自己的应用程序设置相同的设置(在曝光方面),该怎么办?在文档中写着,设置曝光点是(0.5,0.5),将AVFoundationExposureModeCOntinuousAutoExposure设置为曝光模式是默认设置,但我认为这是点测量而不是矩阵测量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-30 13:24:01

的确如此:至少在我可供开发的三款iDevices (iPhone 4S、iPad 3、iPod touch 4G)上,相机都是在“模式”计量模式下启动的。矩阵模式)。然后,如果我按照AVFoundation文档中的说明设置一个感兴趣的曝光点,并将曝光模式设置为连续,相机将切换到斑点测量。

您可以自己检查这一点;在willOutputSampleBuffer调用中,获取EXIF数据并查看计量模式:

代码语言:javascript
运行
复制
NSDictionary* dict = (__bridge NSDictionary*) CMGetAttachment(sampleBuffer,
    kCGImagePropertyExifDictionary, NULL);
...
int meterMode = 
    [[dict objectForKey:(id)kCGImagePropertyExifMeteringMode] integerValue];

(有关这些数字的含义,请搜索"EXIF MeteringMode“。)

我找到的重置相机到矩阵模式的唯一方法,除了关闭应用程序之外,就是通过编程重置p.o.i.。精确到{0.5,0.5}:

代码语言:javascript
运行
复制
CGPoint poi;
poi.x = poi.y = 0.5;
if ([inputCamera lockForConfiguration:nil]) {
    inputCamera.exposurePointOfInterest = poi;
    inputCamera.exposureMode = AVCaptureExposureModeContinuousAutoExposure;
    [inputCamera unlockForConfiguration];
}

假释金的任何其他价值。触发专色模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13157289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档