swift 利用CIDetector识别相册二维码

本人不善于编辑文字,就直接上代码了

  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        
        let image = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
     
//        let codeImg = UIImage(named: "code")
        
        
        let ciImage : CIImage = CIImage(image: image)!
        
        let context = CIContext(options: nil)
        //CIDetector可以识别人脸,条形码,二维码,通过设定ofType来决定
        let detector = CIDetector(ofType: CIDetectorTypeQRCode, context: context, options: [CIDetectorAccuracy:CIDetectorAccuracyHigh])
        //如果图片里有多个二维码的话m,就会返回多个二维码信息,需要自己做判断选取
        let features = detector?.features(in: ciImage)
        print("扫描二维码个数:\(features?.count ?? 0)")
        self.dismiss(animated: true) {
            for feature in features as![CIQRCodeFeature] {
                let alert = UIAlertController.init(title: "识别目标", message:feature.messageString, preferredStyle:.alert)
                let action = UIAlertAction.init(title: "确定", style: .default) { (UIAlertAction) in
                
                }
                alert.addAction(action)
                self .present(alert, animated: true, completion: nil)
                
            }
        }

 

demo地址:https://github.com/kongmingyang/QRcode

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值