AV Foundation相机预览图层会放大,如何缩小?

时间:2010-09-09 12:42:56

标签: ios avfoundation

我目前使用的应用程序具有使用Zxing库(http://code.google.com/p/zxing/)连续扫描QR /条形码的主要功能。对于连续帧捕获,我曾经初始化了苹果Q& A http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html中描述的AVCaptureSession和AVCaptureVideoOutput,AVCaptureVideoPreviewLayer。

我的问题是,当我以前运行相机预览时,我可以通过视频设备看到的图像比我们通过iPhone静态相机看到的图像大得多(1.5倍)。我们的客户需要在扫描时将iPhone与条形码保持5厘米左右的距离,但如果您将iPhone保持在该参数,则整个QR码将不可见,并且解码失败。 为什么iPhone 4中的摄像机放大图像(通过AVCaptureVideoPreviewLayer查看)?

3 个答案:

答案 0 :(得分:16)

这是AVCaptureSession视频预设的功能,可以使用.sessionPreset属性访问。例如,在配置captureSession之后,但在启动之前,您将添加

captureSession.sessionPreset = AVCaptureSessionPresetPhoto;

请参阅此处的文档:

iOS Reference Document

视频的默认预设为1280x720(我认为),其分辨率低于相机支持的最大分辨率。通过使用“照片”预设,您将获得原始相机数据。

答案 1 :(得分:6)

您会在内置iPhone相机应用中看到相同的行为。在静态和视频捕获模式之间切换,您会注意到默认的缩放级别会发生变化。您会在静止模式下看到更宽的视图,而视频模式会稍微放大。

我猜测连续视频拍摄需要使用相机传感器的较小区域才能达到最佳效果。如果使用整个传感器,系统可能无法维持30 fps。使用较小的传感器区域可以“放大”到场景中。

答案 2 :(得分:4)

我再次回答我自己的问题。即使在Apple Dev论坛中也没有回答这个问题,因此我直接向Apple提交了技术支持请求,他们回复说这是一个已知问题,将在未来版本中修复和发布。因此,除了等待和观察之外,我们无能为力。

相关问题