SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Virtual PONG
Traitement Numérique des Images, ELEN016-1
            Projet Android, 2012


             HERBEUVAL P.
               MAHIN J.
              THIRION. V
Plan
!   Introduction

!   Présentation du jeu

!   Buffers

!   Détection des mains

!   Gestionnaire du jeu

!   Performances

!   Problèmes

!   Démo
Introduction
!   Jeu des années 70, quelque peu oublié aujourd’hui

!   Nous voulions lui donner une nouvelle jeunesse

!   Le contrôle du jeu se fait à distance, sans toucher l’appareil
Présentation du jeu
!   But : défendre son camp pour
    empêcher que la balle y entre

!   Mouvements : chaque joueur
    fait monter/descendre sa
    raquette pour renvoyer la balle
    au mieux

!   La balle rebondit différemment
    selon le point d’impact

!   La vitesse de la balle est
    modifiable grâce au slider
Buffering
!   Traitement et capture de l’image en parallèle
   !   2 threads dans l’application, meilleure utilisation des ressources
       disponibles (CPU dual-core)

!   3 tableaux de bytes utilisés comme buffers

!   Permettre la capture et le traitement en simultané de deux
    images

!   Le 3ème buffer permet d’éviter d’attendre la caméra
Détection des mains
!   Détection de la peau
  !   Uniquement dans certaines parties de l’image
  !   Dans l’espace YUV: résultats insatisfaisants
  !   Dans l’espace RGB


!   Détection des mains
  !   Repérer les lignes contenant un certain nombre de pixels de
      peau
  !   Centre de la raquette placé à mi-chemin entre la première et
      dernière ligne
Gestionnaire de jeu
!   Objets :
   !   Balle
   !   Raquettes

!   Le gestionnaire a pour mission de lancer le jeu et de gérer les
    différentes interactions entre objets.

!   Chaque objet est responsable de sa représentation à l’écran ou
    d’envoyer/recevoir des informations vers/par le gestionnaire
                                                      Dessin
                          Balle
                                                                 Collisions +
                                                    Mouvements      sons
 Traitement    Gest.                Score, écran,
  d’image                            slider, sons
                                                      Dessin
                         Raquette

                                                    Mouvements
Performances
!   15 FPS en moyenne après tous les traitements

!   Pas besoin de plus pour jouer, suffisamment fluide

!   On peut augmenter fortement la vitesse de la balle, le jeu
    reste jouable

!   Résultats plus satisfaisants grâce
   !   Double buffering
   !   Traitements en C (Java)
   !   Image pas traitée entièrement
      !   Seulement le 1er tiers à gauche et le dernier tiers à droite
Problèmes
!   Interfaçage du code : Java -> C
   !   Après compréhension, aucun problème

!   Ressources hardware (camera, CPU, mémoire, …)
   !   Caméra frontale << Caméra dorsale
   !   Limitations mais spécifications suffisantes

!   Détection de la peau
Démo




!   Live

!   Vidéo
Vidéo
Questions ?

Contenu connexe

En vedette

Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Jasmine Conseil
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Mathias Seguy
 
04 programmation mobile - android - (db, receivers, services...)
04 programmation mobile - android - (db, receivers, services...)04 programmation mobile - android - (db, receivers, services...)
04 programmation mobile - android - (db, receivers, services...)TECOS
 
Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Alphorm
 
1cours virologie généralités (1)
1cours virologie généralités (1)1cours virologie généralités (1)
1cours virologie généralités (1)imlen gan
 
Andcx formation-android-avance-creation-d-applications-complexes
Andcx formation-android-avance-creation-d-applications-complexesAndcx formation-android-avance-creation-d-applications-complexes
Andcx formation-android-avance-creation-d-applications-complexesCERTyou Formation
 
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...Grégoire Arnould
 
Angular 4 - regles -- Français
Angular 4  - regles -- FrançaisAngular 4  - regles -- Français
Angular 4 - regles -- FrançaisVERTIKA
 
03 programmation mobile - android - (stockage, multithreads, web services)
03 programmation mobile - android - (stockage, multithreads, web services)03 programmation mobile - android - (stockage, multithreads, web services)
03 programmation mobile - android - (stockage, multithreads, web services)TECOS
 
Radio cognitive et intelligence artificielle
Radio cognitive et intelligence artificielleRadio cognitive et intelligence artificielle
Radio cognitive et intelligence artificiellebenouini rachid
 
Mobilization 2017: Don't lose your users because of endless quality issues
Mobilization 2017: Don't lose your users because of endless quality issuesMobilization 2017: Don't lose your users because of endless quality issues
Mobilization 2017: Don't lose your users because of endless quality issuesOlivier Destrebecq
 
Devoxx 2015, Atelier Ionic - 09/04/2015
Devoxx 2015, Atelier Ionic - 09/04/2015Devoxx 2015, Atelier Ionic - 09/04/2015
Devoxx 2015, Atelier Ionic - 09/04/2015Loïc Knuchel
 
Programmation Android - 00 - Présentation
Programmation Android - 00 - PrésentationProgrammation Android - 00 - Présentation
Programmation Android - 00 - PrésentationYann Caron
 
Algea - 04 - conclusion
Algea - 04 - conclusionAlgea - 04 - conclusion
Algea - 04 - conclusionYann Caron
 
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015Loïc Knuchel
 

En vedette (20)

Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
 
Android 6 marshmallow
Android 6 marshmallowAndroid 6 marshmallow
Android 6 marshmallow
 
Codes malveillants
Codes malveillantsCodes malveillants
Codes malveillants
 
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
Conférence "Architecture Android" du 19 Mars 2013 par Mathias Seguy fondateur...
 
04 programmation mobile - android - (db, receivers, services...)
04 programmation mobile - android - (db, receivers, services...)04 programmation mobile - android - (db, receivers, services...)
04 programmation mobile - android - (db, receivers, services...)
 
Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé
 
1cours virologie généralités (1)
1cours virologie généralités (1)1cours virologie généralités (1)
1cours virologie généralités (1)
 
Andcx formation-android-avance-creation-d-applications-complexes
Andcx formation-android-avance-creation-d-applications-complexesAndcx formation-android-avance-creation-d-applications-complexes
Andcx formation-android-avance-creation-d-applications-complexes
 
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...
La Veille en E-Réputation et Community Management [2/3] : Outils, méthodologi...
 
Angular 4 - regles -- Français
Angular 4  - regles -- FrançaisAngular 4  - regles -- Français
Angular 4 - regles -- Français
 
03 programmation mobile - android - (stockage, multithreads, web services)
03 programmation mobile - android - (stockage, multithreads, web services)03 programmation mobile - android - (stockage, multithreads, web services)
03 programmation mobile - android - (stockage, multithreads, web services)
 
Radio cognitive et intelligence artificielle
Radio cognitive et intelligence artificielleRadio cognitive et intelligence artificielle
Radio cognitive et intelligence artificielle
 
Mobilization 2017: Don't lose your users because of endless quality issues
Mobilization 2017: Don't lose your users because of endless quality issuesMobilization 2017: Don't lose your users because of endless quality issues
Mobilization 2017: Don't lose your users because of endless quality issues
 
Introduction gestion de projet
Introduction gestion de projetIntroduction gestion de projet
Introduction gestion de projet
 
Devoxx 2015, Atelier Ionic - 09/04/2015
Devoxx 2015, Atelier Ionic - 09/04/2015Devoxx 2015, Atelier Ionic - 09/04/2015
Devoxx 2015, Atelier Ionic - 09/04/2015
 
Programmation Android - 00 - Présentation
Programmation Android - 00 - PrésentationProgrammation Android - 00 - Présentation
Programmation Android - 00 - Présentation
 
Montage video
Montage videoMontage video
Montage video
 
Mta
MtaMta
Mta
 
Algea - 04 - conclusion
Algea - 04 - conclusionAlgea - 04 - conclusion
Algea - 04 - conclusion
 
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015
Le développement mobile hybride sort du bois, Ch'ti JUG le 15-04-2015
 

Traitement numérique des images - Projet Android "Virtual Pong" - Présentation

  • 1. Virtual PONG Traitement Numérique des Images, ELEN016-1 Projet Android, 2012 HERBEUVAL P. MAHIN J. THIRION. V
  • 2. Plan !   Introduction !   Présentation du jeu !   Buffers !   Détection des mains !   Gestionnaire du jeu !   Performances !   Problèmes !   Démo
  • 3. Introduction !   Jeu des années 70, quelque peu oublié aujourd’hui !   Nous voulions lui donner une nouvelle jeunesse !   Le contrôle du jeu se fait à distance, sans toucher l’appareil
  • 4. Présentation du jeu !   But : défendre son camp pour empêcher que la balle y entre !   Mouvements : chaque joueur fait monter/descendre sa raquette pour renvoyer la balle au mieux !   La balle rebondit différemment selon le point d’impact !   La vitesse de la balle est modifiable grâce au slider
  • 5. Buffering !   Traitement et capture de l’image en parallèle !   2 threads dans l’application, meilleure utilisation des ressources disponibles (CPU dual-core) !   3 tableaux de bytes utilisés comme buffers !   Permettre la capture et le traitement en simultané de deux images !   Le 3ème buffer permet d’éviter d’attendre la caméra
  • 6. Détection des mains !   Détection de la peau !   Uniquement dans certaines parties de l’image !   Dans l’espace YUV: résultats insatisfaisants !   Dans l’espace RGB !   Détection des mains !   Repérer les lignes contenant un certain nombre de pixels de peau !   Centre de la raquette placé à mi-chemin entre la première et dernière ligne
  • 7. Gestionnaire de jeu !   Objets : !   Balle !   Raquettes !   Le gestionnaire a pour mission de lancer le jeu et de gérer les différentes interactions entre objets. !   Chaque objet est responsable de sa représentation à l’écran ou d’envoyer/recevoir des informations vers/par le gestionnaire Dessin Balle Collisions + Mouvements sons Traitement Gest. Score, écran, d’image slider, sons Dessin Raquette Mouvements
  • 8. Performances !   15 FPS en moyenne après tous les traitements !   Pas besoin de plus pour jouer, suffisamment fluide !   On peut augmenter fortement la vitesse de la balle, le jeu reste jouable !   Résultats plus satisfaisants grâce !   Double buffering !   Traitements en C (Java) !   Image pas traitée entièrement !   Seulement le 1er tiers à gauche et le dernier tiers à droite
  • 9. Problèmes !   Interfaçage du code : Java -> C !   Après compréhension, aucun problème !   Ressources hardware (camera, CPU, mémoire, …) !   Caméra frontale << Caméra dorsale !   Limitations mais spécifications suffisantes !   Détection de la peau
  • 10. Démo !   Live !   Vidéo