3.识别二维码

通过CIDetector识别二维码
CIDetector用于分析CIImage,以得到CIFeature,每个CIDetector都要用一个探测器类型(NSString)来初始化。这个类型用于告诉探测器要找什么特征
1.识别图片二维码
func recognizeQRCode() -> String?
{
let detector = CIDetector(ofType: CIDetectorTypeQRCode, context: nil, options: [CIDetectorAccuracy : CIDetectorAccuracyHigh])
let features = detector?.features(in: CoreImage.CIImage(cgImage: self.cgImage!))
guard (features?.count)! > 0 else { return nil }
let feature = features?.first as? CIQRCodeFeature
return feature?.messageString
}
使用实例
DispatchQueue.global().async {
let recognizeResult = self.sourceImage?.recognizeQRCode()
let result = recognizeResult?.characters.count > 0 ? recognizeResult : "无法识别"
DispatchQueue.main.async {
Tool.confirm(title: "扫描结果", message: result, controller: self)
self.activityIndicatoryView.stopAnimating()
}
}
本文Demo地址:QRCode.rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。
注:相关教程知识阅读请移步到IOS开发频道。










