java – 面部检测不适用于前置摄像头

所以基本上我有这个代码,

if(mCamera.getParameters().getMaxNumDetectedFaces()==0)
        {
            System.out.println("Face detection not avaliable");
        }
        else
        {
            System.out.println("Max faces: " + Integer.toString(mCamera.getParameters().getMaxNumDetectedFaces()));
        }

        mCamera.setFaceDetectionListener(new FaceDetectionListener() {

            @Override
            public void onFaceDetection(Face[] faces,Camera camera) {
                // TODO Auto-generated method stub
                System.out.println("Face detection callback called." + Integer.toString(faces.length));


            }


        });

调用mCamera.startFaceDetection();调用回调后,一切正常.但是,如果我更换相机,相同的代码会导致回调永远不会被调用. getMaxNumDetectedFaces,为两个摄像机返回35,所以我认为它支持在前置摄像头.我可以来回更改相机,每次调用此代码,它将适用于后置摄像头,但不适用于前置摄像头.

还有什么我可能做错了吗?

解决方法

相机的质量不可能(前一个,对吗?)是不是足够准确的面部检测工作?相机的图像可能太嘈杂,无法使脸部探测器工作.还有很多其他变量可能会阻碍这一点.

还要搜索前置摄像头,看起来像前置摄像头的点可能是镜像的.这在以下描述:http://developer.android.com/reference/android/hardware/Camera.Face.html

我希望这有帮助.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。