0
+ (NSString *)readQRCodeImage:(UIImage *)imagePicked {
CIImage *qrcodeImage = [CIImage imageWithCGImage:imagePicked.CGImage];
CIContext *qrcodeContext = [CIContext contextWithOptions:nil];

// detector
CIDetector *qrcodeDetector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:qrcodeContext options:@{CIDetectorAccuracy:CIDetectorAccuracyHigh}];

// read features
NSArray *qrcodeFeatures = [qrcodeDetector featuresInImage:qrcodeImage];

//
NSString *qrcodeResultString = nil;
if (qrcodeFeatures && qrcodeFeatures.count > 0) {
    for (CIQRCodeFeature *qrcodeFeature in qrcodeFeatures) {
        if (qrcodeResultString && qrcodeResultString.length > 0) {
            break;
        }
        qrcodeResultString = qrcodeFeature.messageString;
    }
}
NSLog(@"%@",qrcodeResultString);

return qrcodeResultString;

}

我想在iOS10中读取图片等图像特征。
该代码在 iOS8 和 iOS9 中正常工作。

如果有任何帮助,我将不胜感激。 在此处输入图像描述

4

1 回答 1

0

我认为他们对CIFeautre课程进行了修改。现在您需要将其转换为子类CIQRCodeFeature

我是如何在 Swift 中做到这一点的:

let userFeatures = userDetector?.features(in: userImage!) as? [CIQRCodeFeature]
userDecode = (userFeatures?[0].messageString)!
于 2016-12-31T05:18:03.313 回答