Journal Pymecavideo, outil physique pour l'étude des trajectoires

Posté par (page perso) .
0
6
jan.
2008
[Ce message s'adresse plus particulièrement aux professeurs de physique ou à toute personne ayant besoin de montrer des trajectoire à partir d'une vidéo.]

Pendant les vacances de noël, on m'a offert "rapid gui programming with pyQT", ce livre là : http://kib2.free.fr/Articles/Revue_du_livre_Rapid_GUI_Progra(...)

Ni une ni deux, si je veux utiliser ma salle Linux du lycée, il faut qu'il y ait des logiciels adéquats. Or, nous arrivons dans la mécanique, l'étude des trajectoire, des référentiels etc.

On utilise alors des logiciels appelés RegAvi ou AviMeca qui permettent de récupérer les coordonées des points de l'objet de la vidéo et de tracer les vitesses instantanées de ces points.

Au vu des logiciels existants sous Linux, le projet pymecavideo a vu le jour et se veut un remplaçant de RegAvi et AviMeca.

Il est libre, sous licence GPLv3 et contient des vidéos d'exemples qui sont en creative commons. (CC BY SA)

Il est écrit en pyQT4 par un débutant (moi) et d'autres contributeurs (bcp moins débutants :) )

Il nécessite transcode, pour récupérer les vidéos et PiL Python-Library-imaging (souvent appelée python-imaging), quoique je pense que cette dernière dépendance sautera dans les prochaines versions (QImage fait tout ce que je demande à PIL de faire...mais je ne le savais pas.)

Je poste ça assez tôt... car il y a sans doutes des profs qui vont, tout comme moi, attaquer la mécanique sous peu en seconde... si ça peut aider.

http://lucette-serveur.hd.free.fr/trac/pymecavideo

vidéo : http://lucette-serveur.hd.free.fr/trac/pymecavideo/wiki/Tuto(...)

la doc est incluse dedans... mais franchement, est-ce bien nécessaire ;) tellement c'est ergonomique.. :p
  • # pfff meme pas accès à la première page...

    Posté par (page perso) . Évalué à 1.

    ça craint... même pas possibilité de faire un journal de première page...
  • # Génial !

    Posté par . Évalué à 1.

    Simple et efficace, il fallait y penser !
    Je suis fan.

    Il s'installe sans problème sous Mandriva 2008.0, chez moi un simple

    # urpmi python-imaging python-qt4

    A suffit.
    Bravo, je garderai un oeil sur ce soft!
    • [^] # Re: Génial !

      Posté par (page perso) . Évalué à 1.

      euh... y'a même pas besoin...
      sachant que j'ai fait moi-même le rpm et que j'ai mis ce qu'il fallait dedans ;)

      faut juste récupérer le rpm : http://pyfocus.free.fr/upload/pymecavideo-1.0-1mdv2008.0.i58(...) et l'installer.

      ça doit tout installer tout seul. si ce n'est pas le cas tiens moi au courant...

      Je te remercie pour tes commentaires, ça fait très plaisir.

      NB : la vidéo a beaucoup de retard... on peut visualiser les vitesses maintenant.
      • [^] # Re: Génial !

        Posté par . Évalué à 1.

        Alors chez moi ça a donné ça :

        [root@grouchy tnorth]# rpm -i pymecavideo-1.0-1mdv2008.0.i586.rpm
        erreur: Dépendances requises:
        python-imaging est nécessaire pour pymecavideo-1.0-1mdv2008.0.i586
        python-qt4 est nécessaire pour pymecavideo-1.0-1mdv2008.0.i586

        J'avais vu les vecteurs vitesse, c'est sympa.

        Par contre, dans le fichier csv créé, c'est la virgule qui est utilisée et non le point comme séparateur, du coup mon gnuplot ou autre se vautre un petit peu.
        Peut-être que ça fonctionne sur un système français France, mais sur mon suisse-français, ça passe pas et il a fallu faire un
        sed -i s/,/\./g fichier.csv

        Par contre, passer d'une image à une autre de la vidéo est assez lent. Est-ce normal ? Il y a un traitement effectué dessus, ou c'est juste l'extraction qui prend du temps ? (pas vu les sources)
        • [^] # Re: Génial !

          Posté par (page perso) . Évalué à 2.

          bah oui... si tu fais rpm -i...
          par contre, si tu utilises urpmi, il gère ça comme un grand. (les dépendances tout ça)

          pour la séparation... c'est tou un problème. Si on met le ".", Openoffice se vautre. Bref... il y a sans doutes à discuter là-dessus et à trouver un format qui passe partout. Normalement --normalement-- ça gère ça en fonction de la locale... tu peux remplir un ticket stp ? (-> New ticket en haut à droit)
          • [^] # Re: Génial !

            Posté par . Évalué à 1.

            Ah ouais bien vu pour urpmi, je suis un debianeux à la base, et j'y ai pas pensé...

            Ok pour le ticket, c'est fait. (un peu maladroitement par contre :P)
  • # compatibilité du fichier de sortie

    Posté par (page perso) . Évalué à 1.

    J'ai oublié un truc :
    -> le fichier qui résulte de l'enregistrement (et qui propose donc les coordonnées des points et, éventuellement d référentiel choisi) est compatible avec OpenOffice et labPlot.
    Ce qui permet d'aller ensuite encore plus loin dans l'analyse (analyse des vitesses par axes etc.)
  • # correlation d'image

    Posté par . Évalué à 1.

    Ton soft est intéressant, mais le fait de pointer est un peu imprécis.
    Il existe des techniques comme la correlation d'images numériques (ou Digital Image Correlation) autrement appelée Particule Image Velocimetry en méca-flu, qui permettent d'avoir accès directement à tout un champ de déplacement, tu pourrais aussi envisager du particule tracking pour faire cette tâche.

    Si tu es intéressé, cette bibliothèque Opencv : http://www.intel.com/technology/computing/opencv/overview.ht(...)
    peut te permettre de faire ça très simplement (enfin c'est ce qu'ils prétendent, je n'ai jamais testé)
    • [^] # Re: correlation d'image

      Posté par (page perso) . Évalué à 2.

      hu hu... ben y'a le zoom déjà... (si tu laisses la souris appuyée pdt que ut fait un déplacement.)
      Ensuite... ça dépend surtout de ta vidéo... si elle fait 320*240... je la remets en 640*480... du coup ça aide pas. Comme c'est souvent pris avec des webcams...

      Par contre, là où je suis tout à fait d'accord avec toi c'est que ma précision la plus petite possible est "seulement" au pixel près. (+- 1 pixel)

      Avec de la corrélation, il y a moyen de faire mieux. Cependant... la corrélation ne peut pas savoir ce que je dois prendre (du moins pas en première approximation)... je m'explique :

      si la webcam a un temps de pause de 1/25e de seconde... la balle durant ce 25e de seconde peut faire une trainée. or, le temps pour calculer la vitesse est le dernier. Conséquence : il ne faut pas cliquer au milieu de l'enveloppe de la balle, mais plutot vers la fin.

      Bref ça devient chaud chaud.

      Si y'en a qui sont partant pour le coder, y'a pas de problème ;)
    • [^] # Re: correlation d'image

      Posté par (page perso) . Évalué à 1.

      Ouais enfin faut quand même que l'élève fasse quelque chose :P. (j'utilisais avimeca au lycée)

      Si tu dis à l'élève tiens tu fais ouvrir et tu cliques là et ça te fait la courbe, il va te demander pourquoi tu ne lui as pas directement donné la feuille imprimé avec le résultat... Ce qui est beaucoup moins ludique.


      Au passage, je salue le dev pour sa très bonne initiative !

      Un autre logiciel pas assez connu je pense c'est ATNT pour remplacer regressi.
      • [^] # Re: correlation d'image

        Posté par (page perso) . Évalué à 2.

        • [^] # Re: correlation d'image

          Posté par (page perso) . Évalué à 2.

          il y a une raison : http://adullact.net/forum/forum.php?thread_id=1626&forum(...)

          micrelec lui a demandé de l'enlever. Bon... on va devoir se faire un regressi maison alors ;)

          quoique labplot est franchement pas mal.
          • [^] # Re: correlation d'image

            Posté par . Évalué à 1.

            Un logiciel similaire à labplot et que j'apprécie est Qtiplot http://soft.proindependent.com/qtiplot.html . Écrit en Qt 4 et multi-plateformes.

            Cela n'a rien à voir mais puisque tu es prof de physique ça devrait t'intéresser (même si tu connais déjà sûrement), il s'agit de Step http://edu.kde.org/step/ . C'est un simulateur de physique qui gère pas mal de choses et permet de faire des expériences virtuelles amusantes.

            Dans l'ensemble j'ai la sensation que les logiciels propriétaires utilisés pour l'enseignement ne cassent pas trois pattes à un \_o< et devraient être aisément reprogrammable en libre. J'ai une vision erronée ? Ça permettrait aux élèves de pouvoir les utiliser librement chez eux et qui sait faire naître quelques vocations en montrant que la physique c'est amusant.
            • [^] # Re: correlation d'image

              Posté par (page perso) . Évalué à 2.

              si ->moi<- j'ai réussi à programmer un truc qui remplace un logiciel d'enseignement, c'est que ce n'est pas difficile !!
              (pas de formation de programmeur, je capte rien au C++, le seul langage que je sache coer a peu près depuis 2 mois c'est le python ;) )

              Donc sans aucun doutes, il y a moyen de faire un "bundle" de logiciels dédiés à la physique en libre...
          • [^] # Re: correlation d'image

            Posté par . Évalué à 1.

            Salut,
            ATNT est toujours téléchargeable et en plein développement. On peut accéder au logiciel à cette adresse : http://adullact.net/frs/?group_id=257&release_id=1750

            PS : bravo aux développeurs.
  • # GPLv3

    Posté par (page perso) . Évalué à 2.

    Ce commentaires juste pour pinailler :

    A ma conaissance, pyQt et Qt sont sous licence GPLv2.
    Je ne sais donc pas si tu peux utiliser la licence GPLv3 ...
    Il vaudrais mieux utiliser une double licence GPLv2/GPLv3

    Mais bon, c'est un petit détails, je ne sais pas si en pratique tu risque qqchose.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.