如何解决适用于 IOS 的 Firebase 条码扫描仪
所以我尝试将 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)
// ...
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。