Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ICS API 14-摄像头。人脸识别_Android_Face Recognition - Fatal编程技术网

Android ICS API 14-摄像头。人脸识别

Android ICS API 14-摄像头。人脸识别,android,face-recognition,Android,Face Recognition,正在尝试使用Camera.face类中找到的Android 4 API 14人脸识别 我很难获得面部坐标值[左眼/右眼,嘴巴] im使用的设备是三星Galaxy Tab 2[GT-P5100]和安卓4.0.4 我正在初始化人脸检测,类似于下面的代码片段,在上述设备上运行时,camera.getParameters()的值返回为3 现在,当人脸被引入到曲面帧并在人脸检测侦听器中检测到时,它将返回人脸[0]中的值。rect.flattToString()标识人脸在曲面上的位置。但是,其余的值,即面部

正在尝试使用Camera.face类中找到的Android 4 API 14人脸识别

我很难获得面部坐标值[左眼/右眼,嘴巴]

im使用的设备是三星Galaxy Tab 2[GT-P5100]和安卓4.0.4

我正在初始化人脸检测,类似于下面的代码片段,在上述设备上运行时,camera.getParameters()的值返回为3

现在,当人脸被引入到曲面帧并在人脸检测侦听器中检测到时,它将返回人脸[0]中的值。rect.flattToString()标识人脸在曲面上的位置。但是,其余的值,即面部id、左眼/右眼和嘴巴分别返回为-1和Null

此行为在中描述为:

这是一个可选字段,可能不是所有设备都支持。如果不支持,该值将始终设置为null。可选字段作为一个集合受支持。要么它们都是有效的,要么没有一个是有效的

所以问题是我是否遗漏了什么,或者仅仅是我的设备无法支持Camera.face中的Android api人脸识别

值得一提的是,同一台设备提供了通过用户设置配置的face登录设备

    FaceDetectionListener faceDetectionListener = new FaceDetectionListener(){

    @Override
    public void onFaceDetection(Face[] faces, Camera camera) {

        if (faces.length == 0){
            prompt.setText(" No Face Detected! ");
        }else{
            prompt.setText(String.valueOf(faces.length) + " Face Detected :) [ "
                    + faces[0].rect.flattenToString()
                    + "Coordinates : Left Eye - " + faces[0].leftEye + "]"
            ) ;
            Log.i("TEST", "face coordinates = Rect :" + faces[0].rect.flattenToString());
            Log.i("TEST", "face coordinates = Left eye : " + String.valueOf(faces[0].leftEye));
            Log.i("TEST", "face coordinates = Right eye - " + String.valueOf(faces[0].rightEye));
            Log.i("TEST", "face coordinates = Mouth - " + String.valueOf(faces[0].mouth));
        }


在初始化代码中,需要为相机设置人脸检测侦听器

我不认为你遗漏了什么。您的设备可以进行人脸检测,但不支持API.Hay Christian的可选功能检测部分,只是为了清晰起见。该设备还提供人脸识别作为登录功能。您是否认为/建议设备制造商将使用不同的代码来提供此人脸识别功能,以与Android API中的相同?设备确实支持人脸识别,这就是为什么faces.rect中有一个值,但它不支持可选的人脸特征检测。@DblD您能解决此问题吗?您的意思是除了上面我已经用“camera.startFaceDetection();”设置的监听器之外,还有其他监听器?@DblD,您的代码示例中缺少这一行,
camera.setFaceDetectionListener(faceDetectionListener)
@Kratz,即使在执行了相同的建议之后。还有其他要点吗?
        if (camera != null){
        try {
            camera.setPreviewDisplay(surfaceHolder);
            camera.startPreview();

            prompt.setText(String.valueOf(
                    "Max Face: " + camera.getParameters().getMaxNumDetectedFaces()));
            camera.startFaceDetection();
            previewing = true;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }