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年江苏高考化学有机合成反应流程产
- 下一篇: python中字符串的常见操作方法