【发布时间】:2018-03-24 00:43:47
【问题描述】:
我使用com.google.android.gms.vision.face.FaceDetector在如下所示的相机预览回调中检测人脸:
faceDetector = new FaceDetector.Builder(this)
.setTrackingEnabled(false)
.setMode(FaceDetector.FAST_MODE)
.setLandmarkType(FaceDetector.ALL_LANDMARKS)
.build();
mCamera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(final byte[] data, Camera camera) {
if (faceDetector.isOperational()) {
int format = camera.getParameters().getPreviewFormat();
int width = camera.getParameters().getPreviewSize().width;
int height = camera.getParameters().getPreviewSize().height;
Frame frame = new Frame.Builder().setImageData(ByteBuffer.wrap(data), width, height, format).build();
SparseArray<Face> faces = faceDetector.detect(frame);
Log.d("TEST", "Num faces = " + faces.size());
}
mSurfaceView.requestRender();
camera.addCallbackBuffer(mImageBuffer);
}
});
但是,输出始终为Num faces = 0。我该如何解决这个问题?
【问题讨论】:
标签: android face-detection google-vision