使用API 14我创建了一个Activity,它成功地使用了人脸检测(我在这个人脸检测方面有点新鲜)。人脸检测是否需要SurfaceView才能正常工作?
但我不想显示相机的预览,我只想知道用户的脸部位于相机的前方。我添加了几个按钮来使SurfaceView可见/不可见,并且我发现当它是INVISIBLE或GONE时,面部检测停止工作。
有没有办法启用面部检测而不需要布局中的SurfaceView?
这里是我是如何编码它:
mCamera.setPreviewDisplay(mSurfaceHolder);
mCamera.startPreview();
if(mCamera.getParameters().getMaxNumDetectedFaces() >0) {
mCamera.setFaceDetectionListener(new Camera.FaceDetectionListener() {
@Override public void onFaceDetection(Face[] faces, Camera camera) {
if(faces.length > 0) {
System.out.println("Found someone");
}
}
});
mCamera.startFaceDetection();
}
要隐藏surfaceview我添加了一个黑色观看。 :-)
<View android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000"/>
我身边有一个合理的外观和我还没有发现使用startFaceDetection()多的代码呢。
感谢您的任何想法/帮助。
你有没有找到这个问题的答案?我找到了一个使用人脸检测的项目,但只尝试使用没有表面视图的人脸检测,我还没有想出如何去做。 https://github.com/ProjPossibility/2014-CSUN-Cam4Blind – portfoliobuilder 2015-04-29 18:31:12