Tags:
create new tag
, view all tags

Stage de Maxime Bourgeois - IUT Charlemagne Nancy - [8/04/13 au 14/06/13]

Important : cette page est réservée au suivi du stage, merci de ne pas la modifier

Informations générales pour les stagiaires

Pour toute information concernant ce stage :

Sujet

Documents de travail

Stage (avril - juin 2013)

Avril

  • 8, arrivée
  • 8,9,10,15, diverses présentations des services, du travail de documentaliste et du VO
  • 9-12, études et testes de divers application de réalité augmantée comme :
      • Touristique : Le château-fort de Cherbourg
      • Astronomique : Pocket Universe, Sun Seeker
      • Carte : ArroundMe, Le Bar Guide, Bionic Eye
      • Localisation : DishPointer (satellites ), Panoramascope (sommets)
      • Photos : Layar
      • Webcam : C3picasso.com, Ge.ecomagination.com
      • Mesure : AugMeasure(distance), Theodolite(boussole etc...), Peak.ar(sommet de montage)
      • Publicitaire : SnapShop Showroom
      • Jeux : Fairy Trails
  • 15-19, études sur les façons de faire un fondu entre plsuieurs images, élaboration d'un premier programme inspiré des méthodes de fondu utilisé en javascript. Cette méthode consiste à modifier la transparance de l'image vu par l'utilisateur, pour faire apparaitre l'image en dessous petit à petit jusqu'à la voir complètement. Pour cela j'ai utiliser la classe "View" d'Android qui permet d'utiliser la classe "Canvas". Le Canvas permet de dessiner sur une vue comme l'objet Graphics en java et contient une méthode invalidate() qui permet d'éxécuter le contenu de la méthode pour déssiner en continu. Pour modifier la transparence de l'image j'ai utilisé le paramètre alpha qui fais parti de l'objet "Paint". Le paramètre alpha est également contenu pour chaque pixel de l'image(argb).
  • 22-26, étude des différentes façons de faire un morphing d'images et élaboration d'une ébauche de programme.

Mai

  • 29-3, élaboration du programme de fondu, dont l'algorithme est : * Parcour de l'image pixel par pixel. * Pour chaque pixel on décompose ça valeur celon la norme rgb * On compare les valeur rouge, vert, bleu du pixel a modifier par rapport à la valeur auquel on veux arriver et on augmante ou diminu cette valeur. * Pour finir on dessine l'image et le programme recommence tant que tous les pixels ne sont pas identiques à ceux auquel on veut arriver.
Début de l'optimisation du programme qui met entre 900ms et 1000ms pour le calul d'une image. Elboration d'un programme contenant deux threads(non fonctionnels car les données auquel j'accéde sont des fois traiter en même temps, ce qui pose problème). Elaboration d'un programme où l'image est redissener à chaque fois avec simplements la moitié des ces pixels modifier. Le programme met maintenant environs 300ms pour le calcul d'une image.
  • 6-10, optimisation du programme de fondu, mis en place d'un tableau d'entier contenant le contenu de chaque pixel de l'image à traiter pour optimiser les performances, création de variables quand les données sont utilisées plus d'une fois dans la même méthode ou dans la class.
  • 13-17, recherche d'outils permettant de tester les performances d'un programme java pour ensuite l'optimiser au mieux. J'ai trouver 3 programme qui permettent d'effectuer ce genre de test, Jrat(Java Runtime Analysis Toolkit), VisualVM et TPTP (Eclipse Test & Performance Tools Platform). Ce genre de programme permet de voir le temps d'éxécution de chaque méthode, l'utilisation CPU, RAM, Threads..de chaque programme Java, ce qui ne pas permis d'ajuster finement chaque ligne de mon programme autre qu'en faisant des tests à la main.
Études des différentes façons de créer des threads dans le système Android. Les thread sont indispensables lors de calcules lourd pour ne pas bloquer le thread principal de l'application (ici la class "MainActicity"). J'ai découvert que Android pocédais différents systèmes de thread, les threads simple, les handlers (pour comuniquer) et les AsyncTasks. Ici le plus adapter est un thread simple dans la class principal cependant il est impossible de modifier l'affichage a partir d'un thread.

Juin

  • 11, Pré-soutenance
  • 20, Soutenance

Sauvegardes

  • Vous avez accès à un serveur SVN sauvegardé quotidiennement (identifiants donnés au début du stage)
  • svn://quiwi2.strasbg.fr/projets

Liens

Versions testables

Testé sur ...

Documentation

  • Rapport de stage (pdf)
  • Diaporama de la soutenance de stage (pdf (N.B. draft))
  • Démo vidéo éventuelle

Informations/travaux divers

  • ...

Travail post stage éventuel

Liste des améliorations à envisager

  • ...

Bugs connus

  • ...
Topic attachments
I Attachment Action Size Date Who Comment
PDFpdf Rapportdestages.pdf manage 21773.6 K 2013-07-01 - 09:49 AndreSchaaff  
PDFpdf stage.bourgeois.pdf manage 4400.4 K 2013-07-01 - 09:52 AndreSchaaff  
Topic revision: r12 - 2013-07-01 - AndreSchaaff
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback