Я экспериментирую с распознаванием лиц в Mobile Vision API.Я пытаюсь получить контуры лицевых ориентиров.Но при создании FaceDetector это дает мне следующее исключение:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.camera2tut, PID: 27106
java.lang.IllegalArgumentException: Invalid build options
И FaceDetector говорит мне, что «Contour не поддерживается для режима без SELFIE».Вот мой код для настройки FaceDetector:
import com.google.android.gms.vision.face.FaceDetector;
[...]
mFaceDetector = new FaceDetector.Builder(this)
.setTrackingEnabled(true)
.setMinFaceSize((float)0.4)
.setLandmarkType(FaceDetector.CONTOUR_LANDMARKS)
.setClassificationType(FaceDetector.NO_CLASSIFICATIONS)
.setProminentFaceOnly(true)
.setMode(FaceDetector.ACCURATE_MODE)
.build();
Для FaceDetector.Builder нет опции для установки "режима селфи": https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector.Builder
Хотя FaceDetector имеетконстанта SELFIE_MODE: https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector
Из описания этой константы кажется, что .setProminentFaceOnly(true)
ближе всего подходит к режиму селфи, но, похоже, не включает его.
Если я простообнаружение ориентиров с .setLandmarkType(FaceDetector.ALL_LANDMARKS)
, детектор может быть построен.Но как мне использовать этот зловещий режим «селфи», как мне получить контуры?