2014-03-05 2 views
0

여기 내 code on gistNexus 5 Camera.Face 객체가 null입니까?

이 카메라 응용 프로그램 내 장치가 kikat 4.4.2

@Override 
    public void onFaceDetection(Camera.Face[] faces, Camera camera) { 
     if (faces.length > 0){ 
     Camera.Face f = faces[0]; 
     Log.v(TAG, ("Detected" + faces.length + "faces,the ID of first face is:" + f.id)); 

     Log.v(TAG, "leftEye : " + f.leftEye); 
     Log.v(TAG, "mouth : " + f.mouth); 
     Log.v(TAG, "rect : " + f.rect); 
     Log.v(TAG, "rightEye: " + f.rightEye); 

     mCamera.stopFaceDetection(); 
    } 
} 

와 넥서스 5 Android Official Guide

에 따라입니다 인간의 얼굴을 감지 코드 위의 출력은 다음과 같습니다

Detected 1 faces,the ID of first face is:-1 
FaceActivity﹕ leftEye : null 
FaceActivity﹕ mouth : null 
FaceActivity﹕ rect : Rect(-393, 356 - -213, 676) 
FaceActivity﹕ rightEye: null 

그렇다면 Nexus 5가 FaceDetect를 지원하는지 여부를 알고 싶다면 어떻게 구현할 수 있습니까? 얼굴 잠금을 해제하고 화면 잠금을 설정 하시겠습니까?

+0

'Nexus 5 with kikat 4.3.2' ????? 'kikat 4.4.2'로 Nexus 5를 원하셨습니까? – Kedarnath

+0

잘못 입력해서 죄송합니다 ...하지만 내 질문이 왜 투표에 부쳐 졌습니까? – gonjay

+0

나는 당신의 질문을 downvote하지 않았다. 다른 누군가가 그랬다. – Kedarnath

답변

1

이 문제의 원인을 발견했습니다. 약 RGB_564입니다. Android에는 사람의 얼굴을 인식하는 API가 있지만 RGB_564 비트 맵만 지원됩니다. 얼굴 검출은 매우 비용이 많이 드는 작업입니다. 따라서 기본적으로 카메라의 FaceDetect 기능은 기본 얼굴 정보 만 인식하므로 이것이 face.leftEye이 null 인 이유입니다.

관련 문제