这里是应用程序中使用的代码,
//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 语句的 block 也总是会成功。
最佳答案
这是因为 MBUSDLCombinedRecognizer 仅扫描正面的面部和文档图像。 它不读取字段,所有其他字段都是从背面的 pdf417 条形码读取的,因此它无法比较正面和背面结果。 我们正在努力支持 USDL 的前端,2019 年第二季度我们将有一些令人兴奋的消息!一个小提示:Autodetection
亲切的问候
关于ios - MicroBlink SDK 的 USDL 组合识别器 documentDataMatch 返回始终 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54819979/