La maîtrise du capteur photo et des paramètres bas niveau transforme la pratique photographique sur Android. Les développeurs et photographes peuvent accéder à des réglages précis pour modeler l’image selon l’intention créative.
Ce guide détaille comment l’API Camera2 ouvre un contrôle manuel complet, du réglage de l’exposition à la mise au point. La suite présente les points essentiels et techniques listés dans A retenir :
A retenir :
- Contrôle fin de l’exposition et de la sensibilité ISO
- Mise au point manuelle précise pour objectifs pris en charge
- Accès aux paramètres bas niveau du capteur photo pour créativité
- Compatibilité variable selon fabricant et versions Android
API Camera2 et contrôle manuel pour photographie Android
En lien avec les enjeux techniques, la Camera2 offre un accès détaillé aux clés de capture comme l’exposition et l’ISO. Selon Android Developers, ces fonctions remplacent l’ancienne API et permettent des cas d’usage plus avancés.
Comprendre les clés du contrôle manuel
Ce point décrit comment la CameraDevice et les requêtes encodent chaque image capturée. Selon Android Developers, un CaptureRequest contient les paramètres à appliquer pour une seule trame ou pour un flux répété.
La programmation impose de vérifier d’abord les clés disponibles via CameraCharacteristics. Selon Stack Overflow, cela évite d’envoyer des paramètres non supportés qui provoquent des erreurs.
Paramètres caméra modifiables :
- Exposition manuelle (SENSOR_EXPOSURE_TIME)
- Sensibilité ISO (SENSOR_SENSITIVITY)
- Mise au point manuelle (LENS_FOCUS_DISTANCE)
- Aperture disponible selon capteur et objectif
Paramètre
Clé Camera2
Exemple de plage ou valeur
Exposition
SENSOR_EXPOSURE_TIME
Range observée 22000 à 100000000
Sensibilité
SENSOR_SENSITIVITY
Range observée 64 à 1600
Ouverture
android.lens.info.availableApertures
Exemple fréquent : f/1.7
Mise au point
LENS_FOCUS_DISTANCE
Valeurs dépendantes de l’objectif
« J’ai forcé la mise au point manuelle via setManualFocus et cela a amélioré mes prises macro »
Alex N.
Configurer l’exposition et la sensibilité
Ce sous-chapitre explique l’usage conjoint de SENSOR_EXPOSURE_TIME et SENSOR_SENSITIVITY pour exposer correctement une scène. L’exemple pratique montre comment augmenter le temps d’exposition lorsque l’ISO maximale est atteinte.
Un code courant place ces valeurs dans la CaptureSettingMap avant d’envoyer la requête à la session. Selon des retours de forum, l’ordre d’application et la validation des clés évitent les erreurs runtime.
Mise au point et ouverture sur appareil photo Android
Après la gestion de l’exposition, le focus devient la variable clé pour la netteté créative dans la prise de vue. Les développeurs notent que setManualFocus et la désactivation de l’autofocus permettent des effets macro ou cinétiques contrôlés.
Contrôler la mise au point manuelle
Ce passage décrit comment forcer la distance de mise au point via LENS_FOCUS_DISTANCE pour obtenir un plan précis. Selon Stack Overflow, certaines classes comme CamEx2 exposent une méthode setManualFocus pour simplifier l’appel.
Bonnes pratiques focales :
- Tester d’abord en mode MACRO pour courtes distances
- Désactiver l’autofocus avant d’assigner la distance
- Contrôler la vitesse de mise au point pour éviter le saut
- Valider la valeur selon la liste de focus supportée
Dans des applications réelles, combiner focus manuel et réglage d’exposition produit des rendus plus contrôlés. Une micro-histoire explique qu’un photographe mobile a sauvé une prise nocturne par ce couplage précis.
« J’ai utilisé MACRO et ManualFocus pour un spectre DIY, le résultat était net et reproductible »
Sophie N.
Limites d’ouverture et contournements
Ce chapitre situe le problème des ouvertures fixes sur de nombreux modules mobiles et propose des contournements. L’API renseigne souvent une seule valeur d’ouverture, ce qui impose d’agir sur exposition et ISO pour modifier la profondeur de champ.
Selon Android Developers, la disponibilité des aperatures dépend du matériel et des données renvoyées par CameraCharacteristics. En pratique, il faut adapter la stratégie quand l’ouverture est unique.
« La limitation d’ouverture m’a poussé à jouer sur l’exposition pour simuler la profondeur de champ »
Pierre N.
Flux de capture, sessions et cas d’usage pour prise de vue avancée
Enchaînant sur la gestion des paramètres, les CameraCaptureSession orchestrent plusieurs pipelines en parallèle pour visée et capture. Selon Android Developers, les flux optimisés améliorent la latence, la qualité ou l’autonomie selon le cas d’usage choisi.
Créer et gérer CameraCaptureSession
Ce point clarifie la création de sessions avec des OutputConfiguration et des surfaces cibles pour chaque pipeline. La documentation précise qu’une session fixe ses tampons et ne permet pas d’ajout ultérieur de pipelines.
Cas d’usage
Objectif
Conséquence principale
PREVIEW
Affichage en temps réel
Faible latence, bonne fréquence d’images
STILL_CAPTURE
Photo haute résolution
Qualité maximale, latence possible
VIDEO_RECORD
Enregistrement vidéo optimisé
Stabilisation et traitement avancé
PREVIEW_VIDEO_STILL
Usage polyvalent réseau social
Compromis qualité/latence
Cas d’usage recommandés :
- PREVIEW pour viseur et analyse en temps réel
- STILL_CAPTURE pour images haute qualité ponctuelles
- VIDEO_RECORD pour enregistrement avec stabilisation
- PREVIEW_VIDEO_STILL pour usages polyvalents rapides
Pour intercaler une capture unique sans interrompre le flux répété, il faut émettre une requête ponctuelle. Ce mécanisme autorise la prise de photos pendant un aperçu continu, avec attention portée à la file des requêtes.
« L’enchaînement entre répétition et capture unique m’a permis d’obtenir des instantanés sans arrêter l’aperçu »
Marc N.
Source : Android Developers, « Camera2 overview », Android Developers ; Stack Overflow contributors, « Manual Focus using android camera2 API », Stack Overflow ; Frandroid, « API Camera2 et Lollipop : votre terminal est-il compatible », Frandroid.