7

我需要一种在我的相机应用程序中检测人脸的简单方法。我关心的只是一个回调,说在某个地方检测到一张脸,或者在预览中检测到它的坐标。我注意到似乎有几个人脸检测 API - 在 Google Play 服务以及旧版 API 和 camera2 API 中。对于上面描述的简单要求,我应该使用哪一个?

4

1 回答 1

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

于 2016-02-01T19:45:56.400 回答