【问题标题】:Firebase Vision analogue in Google MLKitGoogle MLKit 中的 Firebase Vision 模拟
【发布时间】:2021-09-15 08:07:48
【问题描述】:

iOS 上的 Firebase MLKit 支持 Vision 类,主要用于通过以下方式获取 Firebase 视觉对象:

let vision = Vision.vision()

可以从视觉对象中获取来自 Firebase MLKit API 的 VisionTextRecognizer 实例(在 Google-MLKit API 中似乎也没有类似物):

var recognizer : VisionTextRecognizer = vision.OnDeviceTextRecognizer()

鉴于 Firebase MlKit API 已弃用,我希望将项目移至 Google-MlKit API 并相应地更新代码库。 migration guide 提供了对 GoogleMLKit 中重命名和功能等效设施的引用。我找不到已弃用的 VisionVisionTextRecognizer 类的等效项 - GoogleMLKit 是否支持这些类?

【问题讨论】:

    标签: ios swift firebase firebase-mlkit google-mlkit


    【解决方案1】:

    新的 Google ML Kit 中没有 Vision 类,如 Migration Guide 中所述:

    域入口点类(VisionNaturalLanguage)不再存在。它们已被特定于任务的类所取代。用直接调用每个检测器的工厂方法来替换对获取检测器的各种工厂方法的调用。


    要获取设备上文本识别器的实例,您只需执行以下操作:

    var recognizer : TextRecognizer = TextRecognizer.textRecognizer()
    

    或者

    let recognizer = TextRecognizer.textRecognizer()
    

    或者直接链接到推理调用中:

    var recognizedText: Text
    do {
      recognizedText = try TextRecognizer.textRecognizer().results(in: image)
    } catch let error {
      // Handle the error
    }
    

    查看ML Kit quickstart vision sample app 中的工作示例。

    【讨论】:

      【解决方案2】:

      作为已接受答案的附录,升级到 MLKit 后您可能会遇到以下情况。

      如果您的项目在升级过程中依赖于特定版本的协议缓冲区,MLKit 可能需要更新版本,或者编译错误可能指向协议缓冲区标头中缺少文件。事实证明,在我的情况下,仅仅升级相关的 Pod 是不够的,我必须明确地在 Podfile 中拉入 Protobuf-C++

      【讨论】:

        猜你喜欢
        • 2022-07-29
        • 2022-08-08
        • 1970-01-01
        • 1970-01-01
        • 2018-02-21
        • 2021-09-19
        • 2019-10-10
        • 2019-03-18
        • 1970-01-01
        相关资源
        最近更新 更多