MLKit Firebase android-如何将FirebaseVisionFace转换为图像对象(如位图)?

玛尼穆鲁甘

我已经将MLkit FaceDetection集成到了我的android应用程序中。我在下面提到了网址

https://firebase.google.com/docs/ml-kit/android/detect-faces

面部检测处理器类别的代码为

import java.io.IOException;
import java.util.List;

/** Face Detector Demo. */
public class FaceDetectionProcessor extends VisionProcessorBase<List<FirebaseVisionFace>> {

  private static final String TAG = "FaceDetectionProcessor";

  private final FirebaseVisionFaceDetector detector;

  public FaceDetectionProcessor() {

    FirebaseVisionFaceDetectorOptions options =
        new FirebaseVisionFaceDetectorOptions.Builder()
            .setClassificationType(FirebaseVisionFaceDetectorOptions.ALL_CLASSIFICATIONS)
            .setLandmarkType(FirebaseVisionFaceDetectorOptions.ALL_LANDMARKS)
            .setTrackingEnabled(true)
            .build();

    detector = FirebaseVision.getInstance().getVisionFaceDetector(options);
  }

  @Override
  public void stop() {
    try {
      detector.close();
    } catch (IOException e) {
      Log.e(TAG, "Exception thrown while trying to close Face Detector: " + e);
    }
  }

  @Override
  protected Task<List<FirebaseVisionFace>> detectInImage(FirebaseVisionImage image) {
    return detector.detectInImage(image);
  }

  @Override
  protected void onSuccess(
      @NonNull List<FirebaseVisionFace> faces,
      @NonNull FrameMetadata frameMetadata,
      @NonNull GraphicOverlay graphicOverlay) {
      graphicOverlay.clear();

    for (int i = 0; i < faces.size(); ++i) {
      FirebaseVisionFace face = faces.get(i);
      FaceGraphic faceGraphic = new FaceGraphic(graphicOverlay);
      graphicOverlay.add(faceGraphic);
      faceGraphic.updateFace(face, frameMetadata.getCameraFacing());
    }




  }

  @Override
  protected void onFailure(@NonNull Exception e) {
    Log.e(TAG, "Face detection failed " + e);
  }
}

在“ onSuccess”侦听器中,我们将获得“ FirebaseVisionFace”类对象的数组,这些对象将具有“ Bounding Box”的面孔。

@Override
      protected void onSuccess(
          @NonNull List<FirebaseVisionFace> faces,
          @NonNull FrameMetadata frameMetadata,
          @NonNull GraphicOverlay graphicOverlay) {
          graphicOverlay.clear();

        for (int i = 0; i < faces.size(); ++i) {
          FirebaseVisionFace face = faces.get(i);
          FaceGraphic faceGraphic = new FaceGraphic(graphicOverlay);
          graphicOverlay.add(faceGraphic);
          faceGraphic.updateFace(face, frameMetadata.getCameraFacing());
        }
      }

我想知道如何将此FirebaseVisionFace对象转换为Bitmap。我想提取人脸图像并在ImageView中显示它。谁能帮帮我吗 。提前致谢。

注意:我已经从以下网址下载了MLKit android的示例源代码

https://github.com/firebase/quickstart-android/tree/master/mlkit

gnuf

您是FirebaseVisionImage从位图创建的返回检测结果后,每个都FirebaseVisionFace将边界框描述为Rect,您可以使用该边界框从原始位图提取检测到的面部,例如使用Bitmap.createBitmap()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Firebase数据转换为Java对象...?

Android Java,如何将图像从相机传递到Firebase存储

如何将Leptonica Pix对象转换为Android的位图

如何将byte []或位图转换为整数(R.drawable.picture)Android Java

Android:将图像对象转换为位图不起作用

Firebase MLKit文本识别错误

慢速面部检测Firebase MLKit

Firebase MLKit文本识别因前置摄像头iOS而失败

如何将Firebase对象转换为数组?

在iOS中使用Live Camera进行Firebase MLKit文本识别

如何将我的Android代码转换为Firebase函数的Swift代码?

如何将Firebase文档参考转换为Firebase查询?

在Xamarin.Ios中安装Xamarin.Firebase.iOS.MLKit时如何修复“本地链接失败...”错误

Firebase MLKIT Translate的相关性错误(firebase-ml-natural-language-translate-model)

如何检查图像中是否没有文本--MLKit VisionCloudTextRecognizer

通过API更新Firebase MLKit自定义模型文件

在Android上最佳使用CameraX进行MLKit文本识别

如何在屏幕上绘制标签:MLKit对象检测

改善MLKit对象检测

如何将android中转换后的可绘制对象上传到Firebase?

如何将Android Surface对象转换为本机表面

如何将TIFF图像文件转换为Android位图

android,如何将位图转换为文件对象

自定义模型 [MLKit] - FirebaseMLException:执行 Firebase ML 任务时发生内部错误

react-native-firebase-mlkit textRecognizerProcessImage 不是函数

Apk 大小:Firebase MLKit 包含大型本机库,即使未使用

Firebase MLKit QRCode 扫描失败且没有错误堆栈跟踪

如何使用 MLKit FaceDetector 跟踪图像的人脸

如何在 MLKit 上进行整体跟踪