我目前使用的应用程序具有使用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查看)?
解决方法
这是AVCaptureSession视频预设的功能,可以使用.sessionPreset属性访问.例如,在配置captureSession之后,但在启动之前,您将添加
captureSession.sessionPreset = AVCaptureSessionPresetPhoto;
请参阅此处的文档:
视频的默认预设为1280×720(我认为),其分辨率低于相机支持的最大分辨率.通过使用“照片”预设,您将获得原始相机数据.