Android-Kamera2 Gesichtserkennung
Es ist nicht genug info über Kamera2 Gesichtserkennung-Mechanismus. Ich verwendet Kamera2 Beispiel von Google:
android-Camera2Basic
Ich Gesichtserkennungs-Modus auf "FULL".
mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE,
CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
Auch ich überprüft
STATISTICS_INFO_MAX_FACE_COUNT
und STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES
:
int max_count = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT);
int modes [] = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES);
Ausgabe: maxCount : 5 , Modus : [0, 2]
Meine CaptureCallback:
private CameraCaptureSession.CaptureCallback mCaptureCallback
= new CameraCaptureSession.CaptureCallback() {
private void process(CaptureResult result) {
Integer mode = result.get(CaptureResult.STATISTICS_FACE_DETECT_MODE);
Face [] faces = result.get(CaptureResult.STATISTICS_FACES);
if(faces != null && mode != null)
Log.e("tag", "faces : " + faces.length + " , mode : " + mode );
}
@Override
public void onCaptureProgressed(CameraCaptureSession session, CaptureRequest request,
CaptureResult partialResult) {
process(partialResult);
}
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
TotalCaptureResult result) {
process(result);
}
Ausgabe: faces : 0 , Modus : 2
public static final int STATISTICS_FACE_DETECT_MODE_FULL = 2;
Gesichter, die Länge ist konstant 0. Wie es aussieht, nicht erkennen ein Gesicht, richtig oder habe ich etwas verpasst.
Ich weiß Ansatz mit FaceDetector. Ich wollte nur prüfen, wie es funktioniert mit der neuen Kamera 2 Gesicht.
- Sorry, ich habe das gleiche problem... Aber löst es nicht Weg, wie du helfen... Wenn du manege dieses problem können Sie einen link auf github oder anderen resourse? Dank sehr viel!
- Ich habe das gleiche problem. Ich verwende ausschließlich Kamera2-API. Das lustige an der Sache ist, dass ich funktionierenden code mit dem Beispiel hier: stackoverflow.com/questions/33748760/... - aber einen anderen Satz von code, den ich gebaut in einer anderen Art und Weise funktioniert nicht! Und ich kann nicht herausfinden, den Unterschied! Wie Sie, ich bekomme immer 0 Länge Gesichter. Ich bin sicher, irgendwann werde ich es entdecken, aber es ist sicher nicht offensichtlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Waren meine versuche auf android 5.0(API 21). Nach update auf 5.1(API-22) es begann ohne code-änderungen.
https://github.com/rajktariya/Android-Camera2-Front-with-Face-Detection
fand in diesem Beispiel arbeiten für die beiden front-Kamera mit Gesichtserkennung
Fand ich, dass nur im Falle STATE_PREVIEW haben, können Sie das Ergebnis zeigen die Gesichter lang. Ändern von
zu
Bitte versuchen Sie dies, um zu sehen, ob es funktioniert.
Ich denke, dass Ihr Telefon arbeitet nicht gut mit der Google-Gesichtserkennung. Sind Sie sicher, dass Sie es verwenden, HAL3 und können API2?.
Zum Beispiel in meinem code, den ich bin mit der face-detection-ohne jedes problem wie dieses:
Hier ist die checkFaces Methode:
meine benutzerdefinierte Gesicht-Klasse:
schließlich mit dieser Methode können Sie zeichnen die Gesichter korrekt(verwenden Sie die Standard-android, sondern Rechtecke, die nicht so gut funktionieren in 4:3 oder 16:9 Größen, oder wenn Sie das Telefon drehen:
Was ich Tue, ist die Zeichnung der Gesichter basiert, in das Seitenverhältnis und die Größe. Fühlen Sie sich frei zu Fragen, wenn Sie etwas anderes brauchen über camera2API.