【发布时间】:2019-08-04 10:37:47
【问题描述】:
我正在试验 Mobile Vision API 的人脸检测。我正在尝试获取面部地标的轮廓。但是在构建 FaceDetector 时,它给了我这个例外:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.camera2tut, PID: 27106
java.lang.IllegalArgumentException: Invalid build options
FaceDetector 告诉我“非自拍模式不支持轮廓”。这是我设置 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) 检测地标,就可以构建检测器。但是怎么用这种不祥的“自拍”模式,轮廓怎么弄?
【问题讨论】:
-
您是否设法让面部轮廓发挥作用?
-
还没有,见下文。
-
它正在工作。在下面查看我的答案
标签: java android face-detection vision