Traitement numérique des images - Projet Android "Virtual Pong" - Présentation
-
Upload
valentin-thirion -
Category
Technology
-
view
498 -
download
0
Transcript of Traitement numérique des images - Projet Android "Virtual Pong" - Présentation
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
Traitement d’image Gest. Score, écran,
slider, sons
Balle
Dessin
Mouvements Collisions +
sons
Raquette Dessin
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