CIDetector 相册识别二维码出错
在做点击相册识别二维码识别不了,折腾了大半天,终于从坑里爬出来 ,下面分享一下填坑过程
在创建相册和获取图片的时候添加上面的代码。然后用取出来的图片作为参数进行二维码识别,下面封装了一个类方法:
public func recognizeQRCode() -> String?
{
let detector = CIDetector(ofType: CIDetectorTypeQRCode, context: nil, options: [CIDetectorAccuracy : CIDetectorAccuracyHigh])
guard let imageData = UIImageJPEGRepresentation(self, 1) else {
return nil
}
guard let features = detector?.features(in: CoreImage.CIImage.init(data: imageData)!) else {
return nil
}
guard features.count > 0 else { return nil }
let feature = features.first as? CIQRCodeFeature
return feature?.messageString
}
具体调用如下所示:
let image = info[UIImagePickerControllerEditedImage] as! UIImage
guard let recognizeResult = image.recognizeQRCode() else {
ToastUtil.showHud("无法识别")
return
}
if recognizeResult.count > 0 {
print("识别结果--\(recognizeResult)")
} else {
ToastUtil.showHud("无法识别")
}
转载于:https://www.cnblogs.com/jinlongyu123/p/9707208.html
总结
以上是生活随笔为你收集整理的CIDetector 相册识别二维码出错的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 2021年江苏高考化学有机合成反应流程产
- 下一篇: [LeetCode] 142. Link