V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
adow
V2EX  ›  iDev

请教关于 iOS8 相机 中的 ISO 值

  •  
  •   adow ·
    adow · 2014-12-21 00:10:09 +08:00 · 4133 次点击
    这是一个创建于 3659 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 iOS 8 中,可以手动控制快门速度和 ISO,但是 ISO 的值必须在AVCaptureDeviceFormat.minISOAVCaptureDeviceFormat.maxISO 之间,奇怪的是,我得到的相机的 minISOmaxISO 一直是 29 和 464 (iPhone6), 用 iPhone 4S 得到的是另一个值(maxISO: 734),如果在setExposureModeCustomWithDuration 时使用超过这个范围的 ISO 就会引发异常, 但是这明显应该是不对的, iPhone 6 的最大 ISO 应该可以达到 2000。 我用 Camera Plus 拍照时调成手动模式的确可以选到 1600 以上。

    我很好奇难道这个 ISO 不是我所理解的感光度值吗,为什么只能在 29-464 之间来调整 ISO,难道需要经过计算才是我所需要的 ISO. 我在 captureStillImageAsynchronouslyFromConnection 的时候通过CMCopyDictionaryOfAttachments 获取到的 exif 中,保存的 isoSpeedRating 的确是我设置的那个ISO(29-464之间的值)。

    请教有人了解这究竟是怎么回事呢?

    3 条回复    2014-12-22 16:13:56 +08:00
    besto
        1
    besto  
       2014-12-21 00:28:27 +08:00   ❤️ 1
    说个可能性,不一定正确。
    你确定用的是前置还是后置的Camera?
    adow
        2
    adow  
    OP
       2014-12-21 22:12:37 +08:00
    @besto 之前我只使用了背后的摄像头,看了回帖我也试了一下改成前置摄像头,得到的 maxISO:2176, 难道是只有前置摄像头才有2000的 ISO吗?

    然后我又用了 Camera Plus ,背后摄像头使用手动模式可以控制到1600,拍出来的照片的exif 的确是1600;我又试了系统的相机,他不能手动控制iso和快门,但是我把曝光补偿设置到最大,拍出来的照片 exif 中显示 ISO: 2000。而且在同样的环境下拍出来的照片的确比我的亮很多,我的App中使用自动曝光程序,把曝光补偿设置到 +8,也始终只有 ISO 500 的照片。

    无法理解啊。
    adow
        3
    adow  
    OP
       2014-12-22 16:13:56 +08:00
    貌似弄明白了,原来是没有设置 AVCaptureSession 的sessionPreset,默认是AVCaptureSessionPresetHigh,应该设置成AVCaptureSessionPresetPhoto,前者的 ISO 和照片大小只有 1800 * 1920,设置成后面的话,ISO可以到2000,照片大小可以到 2448*3224。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2722 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:21 · PVG 20:21 · LAX 04:21 · JFK 07:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.