因此,我正在尝试将Firebase的条形码扫描API用于我的IOS应用程序。一切都正常运行(目前),但是我不确定将图片发送到.detect函数后如何访问条形码信息。
在 firebase 网站上的文档中,它说:“如果条形码识别操作成功,检测器将返回一组 VisionBarcode 对象。每个 VisionBarcode 对象代表一个在图像中检测到的条形码。”
有人可以帮助我了解如何访问条形码数组吗?下面我包含了一个指向文档的链接(我从那里获取代码)和我的代码图片。
https://firebase.google.com/docs/ml-kit/ios/read-barcodes#swift_7
func scanBarcode(userImage: UIImage){
print("SCAN")
let format = VisionBarcodeFormat.all
let barcodeOptions = VisionBarcodeDetectorOptions(formats: format)
var vision = Vision.vision()
let barcodeDetector = vision.barcodeDetector(options: barcodeOptions)
let visionImage = VisionImage(image: userImage)
barcodeDetector.detect(in: visionImage) { features, error in
guard error == nil, let features = features, !features.isEmpty else {
// print(barcodes)
return
}
print("unsuccesful scan")
// ...
}
}
你成功扫描的逻辑有点偏离:你需要在你的守卫之后打印特征
func scanBarcode(userImage: UIImage){
print("SCAN")
let format = VisionBarcodeFormat.all
let barcodeOptions = VisionBarcodeDetectorOptions(formats: format)
var vision = Vision.vision()
let barcodeDetector = vision.barcodeDetector(options: barcodeOptions)
let visionImage = VisionImage(image: userImage)
barcodeDetector.detect(in: visionImage) { features, error in
guard error == nil, let features = features, !features.isEmpty else {
print("unsuccessful scan, either there is an error, or features is empty")
return
}
print("successful scan")
print(features)
// ...
}
}