如何从设备中的图像中读取QR
问题描述:
我已经在我的iOS应用程序中用相机读取了QR code
多次。 但是这次我想从我的设备上已存储的图像中获取我的QR code
,例如在相册中。 这样做的最好方法是什么?如何从设备中的图像中读取QR
答
您可以使用CoreImage来实现此目的。您可以使用CIDetector类来检查CIDetectorType是否为CIDetectorTypeQRCode
。您可以使用,他们使用从图像中检测QR码这个code
功能是
func performQRCodeDetection(_ image: CIImage) -> (outImage: CIImage?, decode: String) {
var resultImage: CIImage?
var decode = ""
if let detector = detector {
let features = detector.features(in: image)
for feature in features as! [CIQRCodeFeature] {
resultImage = drawHighlightOverlayForPoints(image, topLeft: feature.topLeft, topRight: feature.topRight,
bottomLeft: feature.bottomLeft, bottomRight: feature.bottomRight)
decode = feature.messageString!
}
}
return (resultImage, decode)
}
确定。只是一个基本问题,你从哪里获得CIImage?我基本上没有使用相册的经验。 – Michel
在didFinishPickingMediaWithInfo委托函数中,您将获得图像 let image = info [UIImagePickerControllerOriginalImage] as? UIImage 您可以将其转换为CIImage,如 让cIImage = CIImage(image:image!) –
OK。非常感谢。 – Michel