1

这里是应用程序中使用的代码,

    //setup recognizer
let usdlRecognizer = MBUsdlCombinedRecognizer()
usdlRecognizer.returnFullDocumentImage = true
usdlRecognizer.scanUncertain = false

// delegate
func documentVerificationOverlayViewControllerDidFinishScanning(_ documentVerificationOverlayViewController: MBDocumentVerificationOverlayViewController, state: MBRecognizerResultState) {

        if state == MBRecognizerResultState.valid {
            // first, pause scanning until we process all the results
            documentVerificationOverlayViewController.recognizerRunnerViewController?.pauseScanning()

            DispatchQueue.main.async(execute: {() -> Void in
                documentVerificationOverlayViewController.dismiss(animated: false, completion: {

                })

                self.parseResult(recognizer: self.recognizer)
                if let recognizer = self.recognizer as? MBUsdlCombinedRecognizer, recognizer.result.documentDataMatch == true {
                 // *********** Its always coming here even with mismatched cards ****************
                   print("both sides of cards matched.. success")
                } else {
                        showAlert(title: "Error", message: "Data not matched", vc: self, okAction: {

                        })
                }
            })
        }
    }

即使我们使用不同人的美国驾照进行扫描,它也总是会成功阻止 if 语句。

4

1 回答 1

1

这是因为 MBUSDLCombinedRecognizer 只扫描正面的面部和文档图像。它不读取字段,所有其他字段都是从背面的pdf417条码读取的,因此无法比较正面和背面的结果。我们正在努力支持 USDL 的前端,在 2019 年第二季度,我们将有一些令人兴奋的消息!一个小提示:自动检测

亲切的问候

于 2019-02-23T06:58:03.657 回答