2017-02-09 2 views
1

J'utilise ce projet android-camera2-secret-picture-taker pour capturer l'image sans ouvrir la vue caméra, mais les images capturées est très mauvais comme ce enter image description here
Comment améliorer la résolution d'image capturée avec Camera2 API Android?

toute aide à faire de ce mieux?
grâce
[Modifier]
J'ai essayé d'autres téléphones et il fonctionne très bien, je prends ce mauvais images sur Huawei Y6II seulement et je ne sais pas pourquoi? l'appareil photo du téléphone est de 13 mpx et fonctionne très bien avec l'application de la caméra native.

Répondre

1

Avez-vous envoyé une seule demande de capture à l'appareil photo? (Aucun aperçu en cours d'exécution ou autre).

Généralement, les routines d'exposition automatique, de mise au point et de balance des blancs subissent une seconde de diffusion avant de se stabiliser à de bonnes valeurs.

Même si vous ne voulez pas d'aperçu à l'écran, vous devez demander 10-30 trames de données à l'appareil photo avant de sauvegarder l'image finale. Ou, pour être plus robuste, définissez une requête répétitive ciblant une SurfaceTexture basse résolution et attendez que les champs CONTROL_AE_STATE/AWB_STATE de CaptureResult atteignent CONVERGED et que le champ AF_STATE soit aussi ce que vous voulez (cela dépend du mode AF que vous utilisez) . Puis capturez votre image.

+0

Merci pour la réponse, J'ai changé le téléphone et ça marche bien | c'est juste ne fonctionne pas sur mon Huawei y6II et je ne sais pas pourquoi? – Tefa

0

Ceci est une supposition aveuglément aveugle, mais bon, vaut la peine d'essayer. Si vous avez utilisé un extrait de code du Web qui suggère d'obtenir une liste de tailles d'image prises en charge et de choisir le premier - eh bien, cela s'est retourné sur les appareils Huawei (plus d'un modèle) parce que Huawei semble fournir la liste dans l'ordre croissant de résolution (c'est-à-dire le plus petit en premier), alors que la plupart des autres appareils que j'ai vus le font par ordre décroissant (ie le plus grand en premier). Par conséquent, s'il s'agit d'un problème de résolution, cela peut valoir la peine d'être vérifié.