0

我正在尝试使用 Firebase ML 套件从每个眼睛检测中获取点列表。

我已经成功获得了每只眼睛的眼睛位置(X,Y),

但是当我尝试调用检索所有点时,它会返回一个空数组。我正在使用的代码如下,我尝试了 FirebaseVisionFaceContour 的左右眼不同版本。

for (FirebaseVisionFace face : faces)
                {
                    leftEye = face.getLandmark(FirebaseVisionFaceLandmark.LEFT_EYE);
                    if (leftEye != null) {
                        leftEyePos = leftEye.getPosition();
                        Log.d(TAG, "Left eye position: " + leftEyePos);

                    }

                    rightEye = face.getLandmark(FirebaseVisionFaceLandmark.RIGHT_EYE);
                    if (rightEye != null) {
                        rightEyePos = rightEye.getPosition();
                        Log.d(TAG, "Right eye position: " + rightEyePos);

                    }
                    leftEyeContour = face.getContour(FirebaseVisionFaceContour.LEFT_EYE).getPoints();
                    Log.d(TAG, "Left eye contour: " + Arrays.toString(leftEyeContour));

                    rightEyeContour = face.getContour(FirebaseVisionFaceContour.RIGHT_EYE).getPoints();

                    for (int i=0; i<rightEyeContour.size(); i++){
                        Log.d(TAG, "Right eye contour: " + rightEyeContour.get(i).getX().toString());
                        Log.d(TAG, "Right eye contour: " + rightEyeContour.get(i).getY().toString());   
                    }
                }

你知道如何解决它并获得眼部轮廓的所有点吗?

4

1 回答 1

2

要获取所有面部轮廓点,您必须在选项中启用 ALL_CONTOURS。

于 2020-06-26T18:45:38.477 回答