Swift Avfoundation:明亮环境中的QRcode扫描错误

时间:2016-05-03 03:51:13

标签: swift avfoundation qr-code

我使用here中的示例构建了一个qrcode扫描应用程序,它可以完美地处理纸张或普通光线

在正常情况下,qrcode如下所示: (线条较粗,这些点彼此靠近) enter image description here

我的问题:当环境明亮,手机很亮(特别是像SamsungEdge 7这样的视网膜显示屏)时,扫描的qrcode变得如下所示。 无法再阅读qrcode了! (线条越来越薄,点变得越来越小) enter image description here

任何建议或我在何处/如何解决此类错误?因为即使在我的“错误”中,ZXING也可以进行扫描。场景。

提前致谢!

1 个答案:

答案 0 :(得分:0)

询问并搜索后。 (有用信息:https://www.objc.io/issues/21-camera-and-photos/camera-capture-on-ios/

此问题与相机曝光,亮度,对比度,白平衡因素有关。

这是我为解决问题而添加的内容

//zoom + set exposure for bright senario 
    do {
        try currentDevice.lockForConfiguration()
    } catch {
        // handle error
        return
    }
    currentDevice.videoZoomFactor = 1.0 + CGFloat(1)
    let exposureBias:Float = -0.5
    currentDevice.setExposureTargetBias(exposureBias) { (time:CMTime) -> Void in
    }
    currentDevice.unlockForConfiguration()