front-Kamera-nehmen Sie sehr dunkel capture in android
Ich bin die Bildaufnahme mit Kamera auf der Vorderseite mit meine eigene Kamera-app nicht mit dem system Kamera-app.Aber das aufgenommene Foto ist sehr dunkel, so kann siehe Foto richtig.
mein code
mCamera = Camera.open(1);
Camera.Parameters params =mCamera.getParameters();
params.setSceneMode(Camera.Parameters.SCENE_MODE_NIGHT);
mCamera.setParameters(params);
Und Bild
if (mCamera != null) {
try {
mCamera.setPreviewDisplay(mSurfaceHolder);
mCamera.startPreview();
mCamera.takePicture(null, mPictureCallback,
mPictureCallback);
} catch (IOException e) {
e.printStackTrace();
}
}
Vielen Dank im Voraus. Bitte geben Sie mir Anregungen. jede Hilfe wird geschätzt.
- Wäre es nicht zu tun mit dem Einsatz von
SCENE_MODE_NIGHT
? Als Fotograf würde ich erwarten, dass der Nacht-Modus zum abdunkeln von Fotos, im Grunde erzählt die Kamera die Belichtungsmessung, die die gesamte Szene ist wahrscheinlich viel dunkler als ein normales Foto. Was passiert, wenn Sie versuchenSCENE_MODE_AUTO
statt? - SCENE_MODE_AUTO nehmen dunkle Foto.
- Ist es dunkel, wo sind Sie? Im ernst, obwohl, nicht sicher, was Los ist. Es gibt eine die Vorherige Frage Fragen über diese, auch. Es ist überraschend schwierig, angesichts der hardware-Varianten von Android, um eine verlässliche Antwort geben zu dieser Art von Frage, wenn.
- nicht zu dunkel, damit das Gesicht nicht sehen kann. es gibt genug Lichter
- Ist das Ergebnis genommen von dem Gerät nativen Kamera-app deutlich weniger dunkel? Sie können versuchen, den logcat von Medienserver - dies kann Ihnen helfen, reverse-engineer die tuning Sie übernehmen.
- cohn vielen Dank, aber jetzt ist das problem gelöst.....
- Wenn Sie gelöst haben Ihr eigenes problem, Sie können posten Sie Ihre Lösung als Antwort hier, anderen Menschen zu helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieses problem zu lösen, Sie könnten sich das Bild nach einiger Zeit. Versuchen Sie dies:
Ich gefunden habe, folgende Lösung für dieses, Und das hat für mich
Warten Sie einige Zeit, d.h. 500 ms, bevor der capture-Bild mit
Alle Antworten in diesem thread erwähnen, eine beliebige Verzögerung, wo die Ursache des Problems nicht angegangen wird.
Die Kamera in einem android-Handy funktioniert die Autofokus-Aktivität nach dem start der Vorschau und vor dem erfassen des Bildes. Das code-snippet in der Frage erwähnt Aufruf
mCamera.takePicture(null, mPictureCallback,mPictureCallback);
direkt nachmCamera.startPreview();
.Unter das Bild während der Autofokus-Prozess gibt Anlass zu der Exposition der Themen, die in dem Bild eingefangen, was in dunklen Fotos. Die Verzögerungen in der erwähnten Antworten geben android-die komplette Zeit an seinem Autofokus und das Bild ist perfekt. Dies möglicherweise nicht der Fall mit jedem Gerät und eine beliebige Anzahl kann Ergebnis in Fehler auf einigen Geräten.
Meine Empfehlung wäre folgende code-snippet -
Diese Strömung sorgt dafür, dass die
takePicture()
wird aufgerufen, in der autofocus callback impliziert Autofokus erfolgreich war. Diese geben ein richtiges Bild mit entsprechender Belichtung und Helligkeit.Dies wird auch entfernen, die willkürliche Verzögerung.
Lesen diese link für
Camera.AutoFocus()
.Lesen diese link für
Camera.takePicture()
.Lesen diese link für
Camera.startPreview()
.