Présentation

Article

1 - APPAREIL PHOTO NUMÉRIQUE

2 - APERÇU ET AFFICHAGE DU FLUX VIDEO PROVENANT DU CAPTEUR

  • 2.1 - Sélection de la caméra
  • 2.2 - Création de la surface de prévisualisation

3 - CAPTURE D’IMAGES

4 - ANALYSE D’IMAGES

5 - CRÉATION D’UN MODÈLE PERSONNALISÉ

6 - CONCLUSION

7 - GLOSSAIRE

8 - SIGLES, NOTATIONS ET SYMBOLES

Article de référence | Réf : H1518 v1

Capture d’images
Capture et analyse d’images sous Android

Auteur(s) : Frédéric LEMOINE

Date de publication : 10 mars 2024

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Les smartphones et tablettes sous Android intègrent aujourd’hui plusieurs capteurs photographiques. Créer des applications visuelles les exploitant nécessite de contrôler directement l'appareil photo du smartphone mais également d'avoir une bonne connaissance de l’interface de programmation disponible. Cet article explique comment récupérer les caractéristiques techniques d’un capteur photo et comment l’exploiter. Nous apprendrons comment afficher l’image provenant du capteur, comment la capturer et comment l’analyser grâce à différents modèles pré-entraînés. Pour terminer, nous créerons notre propre modèle d’analyse grâce à l’apprentissage machine.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Frédéric LEMOINE : Docteur et Ingénieur en informatique - Chef de projet en développement d’applications Conservatoire national des Arts et Métiers (CNAM)

INTRODUCTION

Google Android™ est un système d’exploitation conçu pour les appareils mobiles (téléphones, tablettes, etc). En 2005, la société Google a racheté une petite startup appelée Android Inc. qui développait des applications pour téléphones mobiles. L’objectif de ce rachat était de créer une nouvelle plate-forme mobile concurrençant les principaux acteurs de l’époque : Symbian, Windows mobile, Palm OS, etc.

En 2007, le consortium OHA (Open Handset Alliance), bâti autour de ce système, a été créé. Il regroupait des opérateurs de téléphonie, des fabricants de semi-conducteurs, de téléphones, des éditeurs de logiciels et des distributeurs. Android™ a alors été officiellement annoncée comme nouvelle plate-forme pour dispositifs mobiles.

En 2008, la première version du kit de développement SDK (Software Development Kit), est sortie. Depuis, la part de marché d’Androïd™ a continué de croître et concurrence celle d’Apple (iPhone OS). Ses domaines d’application s’étendent de jour en jour, et ils concernent même maintenant la domotique ou les téléviseurs.

Android™ est fondé sur un noyau Linux. Son code est ouvert et disponible en Open source. Son langage de programmation est le Java.

Le succès d’Android™ tient beaucoup à l’amélioration de l’interactivité de l’utilisateur avec son appareil. Celle-ci s’est beaucoup perfectionnée grâce à l’arrivée de nouveaux types de capteurs.

Le capteur photo est l’un des nombreux capteurs présents sur tout smartphone Android™. C’est un composant électronique chargé de collecter la lumière issue de l’objectif et de la convertir en information électrique. Le processeur de traitement d’image convertit ensuite ce signal analogique en information numérique.

Cet article a pour but d’expliquer comment récupérer les caractéristiques de ce capteur, puis de montrer comment l’exploiter. Nous apprendrons notamment comment afficher l’image provenant du capteur, comment la capturer, et comment l’analyser, grâce à différents modèles pré-entraînés. Puis nous apprendrons à créer le nôtre grâce à l’apprentissage machine.

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1518


Cet article fait partie de l’offre

Le traitement du signal et ses applications

(160 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

3. Capture d’images

Si l’on souhaite capturer une image, par exemple prendre une photo suite à un clic sur un bouton, l’appareil pouvant être positionné horizontalement ou verticalement, on s’assure que la surface d’affichage et l’image capturée auront la même orientation.

imageCapture = new ImageCapture.Builder()

.setTargetRotation(previewView.getDisplay().getRotation())

.build();

Nous allons sauvegarder l’image. Ce code sera normalement exécuté après un clic sur un bouton.

On indique le nom et l’endroit où sera sauvegardé l’image. Ici ce sera dans le répertoire des images (DIRECTORY_PICTURES) :

String file_path = getExternalFilesDir(Environment.DIRECTORY_PICTURES) + "/pic.jpg";

ImageCapture.OutputFileOptions outputFileOptions = new ImageCapture.OutputFileOptions.Builder(new File(file_path)).build();

Nous capturons l’image. Nous savons grâce à l’appel de onImageSaved et onError si la capture s’est bien passée :

  • onImageSaved indique que la sauvegarde s’est bien déroulée ;

  • onError indique qu’un problème a été rencontré. error spécifie l’erreur rencontrée, par exemple : le numéro de la caméra est invalide, la caméra est fermée, le fichier n’a pas pu être écrit, etc.

Nota :

l’appel à newSingleThreadExecutor permet d’utiliser, pour la capture, un pool de thread formé d’un thread unique. Ce qui est suffisant ici (l’usage des Threads sous Android™ dépasse le cadre de cet article et nécessiterait un autre article à lui seul).

imageCapture.takePicture(outputFileOptions,

Executors.newSingleThreadExecutor(),

new ImageCapture.OnImageSavedCallback() {

@Override

public void onImageSaved(ImageCapture.OutputFileResults outputFileResults) {// La sauvegarde a réussie}

@Override

public void onError(ImageCaptureException error) {// La sauvegarde a échouée}

}

);

La capture d’une image n’est pas obligatoire pour effectuer son analyse.

À retenir
  • Avant de capturer une image, il convient de spécifier son sens de rotation et l’endroit où elle sera stockée.

  • L’appel de la méthode « onImageSaved » indique que la sauvegarde s’est bien déroulée.

  • L’appel de la méthode « onError » indique qu’une erreur...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Le traitement du signal et ses applications

(160 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Capture d’images
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) -    -  https://developer.android.com/reference/ android/hardware/camera2/Camera Characteristics

  • (2) - TURING (A.M.) -   Computing Machinery and Intelligence.  -  Mind, LIX(236), p. 433-460 (1950).

  • (3) - MCCULLOCH (W.), PITTS (W.) -   A logical calculus of the ideas immanent in nervous activity.  -  Bulletin of Mathematical Biology, 5, p. 115-133 (1943).

  • (4) - TURING (A.M.) -   On Computable Numbers, with an application to the entscheidungproblem.  -  Proceedings of the London Mathematical Society, 1, p. 230-265 (1937).

  • (5) - ROSENBLATT (F.) -   The perceptron: A probabilistic model for information storage and organization in the brain.  -  Psychological Review, 65(6), p. 386-408 (1958).

  • (6) -    -  https://www.cs.toronto.edu/~kriz/cifar.html

  • ...

1 Sites Internet

Android developers (page consultée le 14 juillet 2023). Site de référence pour la programmation sur la plateforme Android™. Ce site présente une importante base documentaire de référence ainsi que les outils nécessaires à la programmation https://developer.android.com/

Kit de développement pour la plateforme Android™ (page consultée le 14 juillet 2023). L’ensemble des outils nécessaires à installer pour développer des applications pour la plateforme Android™ https://developer.android.com/studio

Android™ (page consultée le 14 juillet 2023). Ce site officiel fournit des informations pour les utilisateurs, développeurs et partenaires. Il comprend des communiqués de presse, des vidéos, des copies d'écran et de nombreux téléchargements http://www.android.com/

Android™ Compatibility Program (page consultée le 14 juillet 2023). Site recensant les critères que doit respecter un constructeur pour certifier son matériel compatible avec la plate-forme Android™ http://source.android.com/compatibility/overview.html

The MNIST (Mixed National Institute of Standards and Technology) database of handwritten digits (page consultée le 17 juillet 2023). Site présentant la base de données MNIST de...

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Le traitement du signal et ses applications

(160 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS