【问题标题】:What is the distinct difference between an ImageAnalyzer and VisionProcessor in Android MLKit, if any?Android MLKit 中的 ImageAnalyzer 和 VisionProcessor 之间有什么明显区别(如果有的话)?
【发布时间】:2021-05-09 04:33:09
【问题描述】:

我是 MLKit 的新手。

通过查看文档和示例 MLKit 应用程序,我首先注意到的一点是,似乎有多种方法可以附加/使用图像处理器/分析器。

在某些情况下,他们演示了使用 ImageAnalyzer api https://developers.google.com/ml-kit/vision/image-labeling/custom-models/android

private class YourImageAnalyzer : ImageAnalysis.Analyzer {

override fun analyze(imageProxy: ImageProxy) {
    val mediaImage = imageProxy.image
    if (mediaImage != null) {
        val image = InputImage.fromMediaImage(mediaImage, imageProxy.imageInfo.rotationDegrees)
        // Pass image to an ML Kit Vision API
        // ...
    }
}

}

分析器似乎可以绑定到 CameraProviders 的生命周期

cameraProvider.bindToLifecycle(this, cameraSelector, preview, imageCapture, imageAnalyzer)

在 MLKit 展示应用程序中显示的其他情况下,CameraSource 具有可以设置的帧处理器。

cameraSource?.setFrameProcessor(
        if (PreferenceUtils.isMultipleObjectsMode(this)) {
            MultiObjectProcessor(graphicOverlay!!, workflowModel!!)
        } else {
            ProminentObjectProcessor(graphicOverlay!!, workflowModel!!)
        }
    )

那么这只是做同一件事的两种不同方法吗?它们可以混合搭配吗?选择其中一个是否有性能优势?

作为一个具体的例子:如果我想使用 MLKit ImageLabeler,我应该将它包装在一个处理器中并将其设置为 CameraSource 的 ImageProcessor,还是在 Image Analysis 回调中使用它并将其绑定到 CameraProvider?

最后,在使用 CameraSource(MLKit Material 展示应用程序)的示例中,没有使用 CameraProvider...这仅仅是因为 CameraSource 使其无关紧要和不需要吗?在这种情况下,将 ImageAnalyzer 绑定到 CameraProvider 甚至不是一个选项吗?是否可以简单地将不同的 ImageProcessor 设置为 CameraSource,因为它们在不同的场景中运行,例如 ImageLabelling、对象检测、文本识别等?

【问题讨论】:

    标签: android android-studio firebase-mlkit google-mlkit


    【解决方案1】:

    不同之处在于底层相机实现。分析器接口来自CameraX,处理器需要开发者为camera1编写。

    如果您想使用 android.hardware.Camera,您需要按照示例创建一个处理器并将相机输出提供给 MLKit。 如果您想使用cameraX,那么您可以按照视觉示例应用中的示例找到CameraXLivePreviewActivity。

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      相关资源
      最近更新 更多