如何从此处将 FirebaseVisionFace 转换为位图?

How to convert FirebaseVisionFace to Bitmap from here?

我实现了 Firebase ML 工具包,你们能帮我如何根据这些信息创建位图并将其显示给 imageview 吗?请帮助我如何从这个阶段创建位图并将其保存到设备内存中?我试过这段代码,帮助我更深入。

       public void onSuccess(List<FirebaseVisionFace> faces) {
                            // Task completed successfully
                            // ...
                            Log.d("Success: ", "success");
                            for (FirebaseVisionFace face : faces) {
                                Rect bounds = face.getBoundingBox();
                                float rotY = face.getHeadEulerAngleY();  // Head is rotated to the right rotY degrees
                                float rotZ = face.getHeadEulerAngleZ();  // Head is tilted sideways rotZ degrees
                                Log.d("rotY: ", ""+rotY);
                                Log.d("rotZ: ", ""+rotZ);
                                // If landmark detection was enabled (mouth, ears, eyes, cheeks, and
                                // nose available):
                                FirebaseVisionFaceLandmark leftEar = face.getLandmark(FirebaseVisionFaceLandmark.LEFT_EAR);
                                if (leftEar != null) {
                                    FirebaseVisionPoint leftEarPos = leftEar.getPosition();
                                }

                                // If contour detection was enabled:
                                List<FirebaseVisionPoint> leftEyeContour =
                                        face.getContour(FirebaseVisionFaceContour.LEFT_EYE).getPoints();
                                List<FirebaseVisionPoint> upperLipBottomContour =
                                        face.getContour(FirebaseVisionFaceContour.UPPER_LIP_BOTTOM).getPoints();

                                // If classification was enabled:
                                if (face.getSmilingProbability() != FirebaseVisionFace.UNCOMPUTED_PROBABILITY) {
                                    float smileProb = face.getSmilingProbability();
                                }
                                if (face.getRightEyeOpenProbability() != FirebaseVisionFace.UNCOMPUTED_PROBABILITY) {
                                    float rightEyeOpenProb = face.getRightEyeOpenProbability();
                                }

                                // If face tracking was enabled:
                                if (face.getTrackingId() != FirebaseVisionFace.INVALID_ID) {
                                    int id = face.getTrackingId();
                                }

                            }
                        }

您可以进行如下操作:

    // bitmap is the image you already detected faces

    Paint myRectPain = new Paint();
    myRectPain.setStrokeWidth(10);
    myRectPain.setColor(Color.RED);
    myRectPain.setStyle(Paint.Style.STROKE);

    Bitmap tempBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),Bitmap.Config.RGB_565);

    Canvas tempCanvas = new Canvas(tempBitmap);
    tempCanvas.drawBitmap(bitmap,0,0,null);

    for (FirebaseVisionFace face: faces) {
        Rect bound = face.getBoundingBox();
        tempCanvas.drawRect(bound,myRectPain);
    }

    // imgView is an ImageView

    imgView.setImageDrawable(new BitmapDrawable(getResources(),tempBitmap));