我正在使用移动视觉 API 来检测 android 应用程序中的人脸。
我使用 SparseArray of Face 来存储对人脸的引用,但是检测器.detect(frame) 方法需要很长时间(15 秒)才能检测到人脸。
注意:我将相机拍摄的图像的位图传递给 detectFaces 方法。
我的代码如下
void detectFaces(Context context, Bitmap picture){
com.google.android.gms.vision.face.FaceDetector detector = new com.google.android.gms.vision.face.FaceDetector.Builder(context)
.setTrackingEnabled(false)
.setClassificationType(com.google.android.gms.vision.face.FaceDetector.ALL_CLASSIFICATIONS)
.build();
//Build the frame
Frame frame = new Frame.Builder().setBitmap(picture).build();
//Detect the faces
SparseArray<Face> faces = detector.detect(frame);//**This takes approx 15 second**
if(faces.size() == 0)
Toast.makeText(context, "No Face Detected", Toast.LENGTH_SHORT).show();
else
{
Toast.makeText(context,"Face detected are : " + faces.size() , Toast.LENGTH_LONG).show();
getClassification(faces.valueAt(0));
}
//Release the detector
detector.release();
}