private func performBarcodeDetection(completion: @escaping ([VNBarcodeObservation]?) -> Void) {
guard let image = UIImage(named: photos[currentIndex]),
let orientation = CGImagePropertyOrientation(rawValue: UInt32(image.imageOrientation.rawValue)),
let cgImage = image.cgImage else {
return completion(nil)
}
let request = VNDetectBarcodesRequest { (request, error) in
let observations = request.results as? [VNBarcodeObservation]
completion(observations)
}
let handler = VNImageRequestHandler(cgImage: cgImage, orientation: orientation, options: [:])
do {
try handler.perform([request])
} catch {
print(error.localizedDescription)
}
}
// ------------------
Button("Classify") {
self.performBarcodeDetection { observations in
guard let observations = observations,
let observation = observations.first else {
return
}
if let payload = observation.payloadStringValue {
self.classification = payload
}
}
}YamamotoDesu/barcode-detection
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
