경우 :하지만 여전히 유용) 기사 나 동료와 언젠가 전에 만든 당신이 필요로하는 것은 장치에 저장된 이미지의 얼굴을 탐지하는 것입니다. 안드로이드의 소스 코드를 해킹하지 않고서도 확실히 할 수 있습니다!
는 당신에게 그 사진에있는 얼굴의 위치를 제공 (565 형식 포맷 ) 입력으로 Bitmap
을 받아 API 1 일부터 패키지 android.media
에서 사용할 수있는 FaceDetector
API가있다.여기
는 당신이 필요로하는 단계는 다음과 같습니다 1로드 Bitmap
및 565 format
로 변환
Bitmap originalBitmap =
BitmapFactory.decodeResource(getResources(),R.drawable.facesPicture);
Bitmap bitmap = originalBitmap .copy(Bitmap.Config.RGB_565, true);
originalBitmap .recycle(); // allow the GC to collect this object
2 개최 Face
배열을 정의 (당신이 당신의 당김 자원에서 facesPicture
파일이 가정) 검출 된 얼굴 정보 및 초기화한다. FaceDetector
int MAX_FACES = 20; // assuming that the image will have maximum 20 faces
FaceDetector.Face[] faces = new FaceDetector.Face[MAX_FACES];
FaceDetector faceDetector =
new FaceDetector(bitmap.getWidth(), bitmap.getHeight(), MAX_FACES);
3- 검색 얼굴 및 프로세스
int facesCount = faceDetector.findFaces(bitmap, faces);
for(int i=0; i<facesCount; i++) {
FaceDetector.Face face = faces[i];
float detectionConfidence = face.confidence(); // over 0.3 is OK
PointF eyesMidPoint = new PointF();
face.getMidPoint(eyesMidPoint);
float eyesDistance = face.eyesDistance();
float rotationX = face.pose(FaceDetector.Face.EULER_X);
float rotationY = face.pose(FaceDetector.Face.EULER_Y);
float rotationZ = face.pose(FaceDetector.Face.EULER_Z);
// Do something with these values
}
당신은 당신이 뭔가 더 당신이 OpenCV의에게
감사를 사용하는 것이 좋습니다 진행하려면이 문서 Face Detection with Android APIs
에 설명되어 완전한 프로젝트 예를 here를 다운로드,하지만 난 할 수 결과 실제로 카메라 API의 소스 코드를 찾을 수 없었습니다 (검색했습니다). 이것에 대한 도움이 감사합니다. –
여기에있는 코드를 살펴 보시기 바랍니다. https://android.googlesource.com/platform/packages/apps/Camera/+/master 여기에 없으면 하드웨어 프레임 워크에있을 가능성이 큽니다. 어떻게 진행되는지 알려주세요. – NathanTempelman
사실 아무 것도 없습니다 : http://code.google.com/a/eclipselabs.org/p/face-recognition-android/source/browse/ 어쨌든 고마워 –