我需要一种简单的方法来检测相机应用中的脸部。我所关心的只是一个回调,说在某个地方检测到了一张脸,或者在预览中检测到了坐标。我注意到似乎有几种面部检测API - 在Google Play服务以及传统和相机2 API中。我应该将哪一个用于上述简单要求?
答案 0 :(得分:7)
旧版本较旧,准确性低于新版Google Play服务API。
camera2 API依赖于相机硬件内置的面部检测功能,因此并非所有设备都可以使用。我没有进行详尽的比较,但我认为准确性也低于新的Google Play服务API。
请参阅本教程,了解如何使用Google Play服务API跟踪相机预览中的面孔:
https://developers.google.com/vision/face-tracker-tutorial
您定义的回调将是Tracker的子类,类似于教程中的GraphicFaceTracker。
如果您不需要跟踪面部或者您有其他管理相机的代码,您可以直接调用面部检测器:
Frame frame = Frame.Builder().setBitmap(myBitmap).build();
SparseArray<Face> faces = faceDetector.detect(frame);
请参阅此处的信息:
https://developers.google.com/android/reference/com/google/android/gms/vision/package-summary