+ (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 中正常工作。