可以为iOS相机手动调整曝光时间吗?

时间:2011-01-20 09:16:29

标签: iphone ios

我想调整iPhone / iPod touch相机的曝光度。我宁愿拍摄一系列照片,减少曝光时间,以获得一系列图像(用于HDR重建)。这可能吗?

如果没有,那么下一个最好的东西是什么?您似乎可以在自动曝光的图像中设置一个感兴趣的点。也许我可以搜索图像的暗/亮区域,然后使用此exposurePointOfInterest来调整曝光,但这似乎是一个非常间接的解决方案,也容易出错。如果有人尝试过替代方案,那么这样的答案也是可取的。

6 个答案:

答案 0 :(得分:4)

由于iOS可以控制帧持续时间 MinFrameDuration MaxFrameDuration

因为曝光时间根据帧速率和帧持续时间而变化 通过将最小和最大帧速率设置为特定值 你将锁定fram率。 这将影响您的曝光时间。 这也是非常间接的控制方式,可能对你的情况有所帮助

一些例子是这样的:

if (conn.isVideoMinFrameDurationSupported)
    conn.videoMinFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND);
if (conn.isVideoMaxFrameDurationSupported)
    conn.videoMaxFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND);

答案 1 :(得分:2)

由于你不得不降低相机的快门速度,不幸的是,这似乎不可能,更重要的是,对抗 HIG

  

改变iPhone外部硬件的行为是违反的   iPhone开发人员计划许可协议。申请必须   遵守iPhone中的人机界面指南   iPhone开发人员计划许可协议第3.3.7节

相关文章Apple Removes Camera+ iPhone App From The App Store After Developer Reveals Hack To Enable Hidden Feature

如果它可以以编程方式完成,而不是硬件,你可能有机会,但它只是对图像的影响,而不是真正的长曝光图片。

有一些模拟慢速快门应用程序获得批准,如Slow ShutterMagic Shutter

相关文章:New iPhone Camera App “Magic Shutter” Hits The App Store

答案 2 :(得分:1)

我尝试为我的动作激活相机应用程序(Pocket Sentry)执行此操作,我发现无法执行此操作并在应用程序商店中获得批准。

答案 3 :(得分:1)

我一直在努力做到这一点。我认为只有使用曝光兴趣点属性才有可能。我正在检测黑暗和亮点,然后相应地调整点。

请参阅:Detecting bright/dark points on iPhone screen

有谁知道更好的方法吗?

答案 4 :(得分:1)

自iOS 8起支持此功能: http://developer.xamarin.com/guides/ios/platform_features/intro_to_manual_camera_controls/

看看AVCaptureExposureModeCustom和CaptureDevice.LockExposure ......

答案 5 :(得分:0)

我不太确定,但你应该尝试使用AVFoundation类来构建相机应用程序,遵循苹果的示例代码: AVCam Sample Code

然后尝试利用Class的exposureMode属性:

exposureMode Class Reference