1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
|
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Aide pour Pymecavideo</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="help-style.css" />
<link rel="stylesheet" href="static/jquery-ui/themes/base/jquery-ui.css" />
</head>
<body>
<header id="title-block-header">
<h1 class="title">Aide pour Pymecavideo</h1>
</header>
<script src="static/jquery/jquery.js"></script>
<script src="static/jquery-ui/jquery-ui.js"></script>
<h2 id="manuel-de-pymecavideo">Manuel de PyMecaVideo</h2>
<h3 id="georges-khaznadar">Georges Khaznadar</h3>
<p><strong>Résumé</strong></p>
<p>PyMecaVideo est un logiciel facilitant le repérage de points mobiles
dans une vidéo et d'en exploiter la cinématique pour des usages de
mesure physique.</p>
<hr />
<div id="toc" class="accordian">
</div>
<h1 class="toc" id="introduction">Introduction</h1>
<h2 class="toc" id="pymecavideo-pourquoi-faire">PyMecaVideo, pourquoi
faire ?</h2>
<p><img src="snap1.png" class="leftalign" width="350" /></p>
<p>Il est possible de faire des mesures physiques à l’aide d’images,
dans certaines conditions. <span class="symbol">PyMecaVideo</span>
facilite les mesures physiques faites sur des séquences d’images vidéo.
Il suffit de travailler à partir d’un fichier vidéo de type <code
class="computeroutput">AVI</code>, encodé à l’aide d’un codec
libre<sup id="a1"><a href="#f1">1</a></sup>, qui comporte au moins une
image dont on peut déterminer l’échelle.</p>
<p><span class="symbol">PyMecaVideo</span> permet d’ouvrir et de
décomposer en images la vidéo, et par des pointages successifs, de
suivre le mouvement d’un point, et éventuellement le mouvement de
l’origine d’un référentiel mobile dans le cadre des images. Les données
pointées sont ensuite exploitables à l’aide de logiciels d’analyse
standard.</p>
<h2 class="toc" id="téléchargement-et-installation">Téléchargement et
installation</h2>
<p><a
href="http://outilsphysiques.tuxfamily.org/pmwiki.php/Oppl/Pymecavideo"><img
src="snap2.png" class="leftalign" width="350" /></a> Les sources de
<span class="symbol">PyMecaVideo</span> sont disponibles parmi <a
href="http://outilsphysiques.tuxfamily.org/wiki/index.php?title=Accueil">les
« Outils Physiques Pour Linux » hébergés sur le site
<em>tuxfamily.org</em></a>. Pour l’installation sous <span
class="productname">Linux</span>™, récupérer l’arbre des sources comme
expliqué à <a
href="http://outilsphysiques.tuxfamily.org/wiki/index.php?title=Pymecavideo#T.C3.A9l.C3.A9chargements">la
page spécifique de Pymecavideo</a>, lancer la commande <code
class="computeroutput">git clone git@gitlab.com:oppl/pymecavideo.git</code>
entrer dans le répertoire <code
class="computeroutput">pymecavideo/src</code>, et taper la commande
suivante : <code class="computeroutput">make</code>. Cela crée les
fichiers manquants (interfaces utilisateur, traductions vers l’anglais).
Depuis ce répertoire-là, une commande <code
class="computeroutput">python3 pymecavideo.py</code> permet alors de
lancer l’application.</p>
<p>Il est possible aussi d’obtenir des fichiers binaires, qui sont pris
en charge par le gestionnaire de paquets de votre distribution préférée.
Actuellement on trouve des paquets pour Debian et Ubuntu, disponibles
dans les dépôts officiels de ces distributions.</p>
<h2 class="toc" id="lancement-de-pymecavideo">Lancement de
PyMecaVideo</h2>
<p><img src="snap3.png" class="leftalign" width="350" /></p>
<p>Quand l’installation est faite à partir d’un paquet approprié, il est
possible de lancer <span class="symbol">PyMecaVideo</span> de diverses
façons : juste avec les préférences courantes (ce qui charge la
précédente vidéo travaillée si elle est retrouvée), ou avec une vidéo
imposée, ou encore avec la sauvegarde d’une précédente session de
travail.</p>
<div style="clear:both;"/>
<p>En <em>ligne de commande</em>, il est possible de taper :</p>
<ul>
<li><code class="computeroutput">pymecavideo</code>, ce qui lance <span
class="symbol">PyMecaVideo</span> avec les préférences courantes ;</li>
<li><code
class="computeroutput">pymecavideo nom_de_fichier_video.avi</code>, ce
qui lance <span class="symbol">PyMecaVideo</span> avec un nouveau
fichier vidéo ;</li>
<li><code
class="computeroutput">pymecavideo fichier_de_sauvegarde.mecavideo</code>,
ce qui lance <span class="symbol">PyMecaVideo</span> avec la sauvegarde
d’un ancienne session de travail.</li>
</ul>
<p>On peut aussi le lancer à partir du menu graphique de votre
gestionnaire de fenêtre : <span class="symbol">KDE</span>, <span
class="symbol">Gnome</span> ou <span class="symbol">Cinnamon</span>,
etc. intègrent l’application dans le menu si vous faites une
installation à l’aide d’un paquet.</p>
<dl>
<dt><span class="term">Dans le cas de KDE,</span></dt>
<dd>
<p>l’application est accessible par les menus
Éducatif ↦ Science ↦ PyMecaVideo.</p>
</dd>
<dt><span class="term">Dans le cas de Gnome ou Cinnamon,</span></dt>
<dd>
<p>l’application est accessible par les menus
Éducation ↦ PyMecaVideo.</p>
</dd>
</dl>
<p>Voici l’icône de l’application : <a href="curseur_cible.svg"><img
src="curseur_cible.svg" width="32" /></a></p>
<h2 class="toc" id="préparer-une-vidéo-pour-pouvoir-la-traiter">Préparer
une vidéo pour pouvoir la traiter</h2>
<p>La préparation de la vidéo commence dès la prise de vues. Les
points-clés sont les suivants :</p>
<ul>
<li><p>Choisir un bon éclairage. Les éclairages fluorescents posent
parfois problème, car leur intensité varie à des fréquences proches de
celle de la vidéo, et cela peut engendrer quelquefois des phénomènes
stroboscopiques. D’autre part, pour les caméras vidéo disposant de bons
automatismes, un éclairage suffisant facilite le choix de temps de pose
courts, plus favorables à l’acquisition de données.</p></li>
<li><p>La scène doit posséder un bon contraste. En particulier les
objets à suivre doivent se distinguer aisément de leur environnement,
par la clarté, sinon par la couleur.</p></li>
<li><p>Il faut penser à laisser dans le cadre un objet de taille connue,
dans le même plan focal que la scène à filmer. Il est bon de documenter
la dimension de l’objet-étalon.</p></li>
<li><p>L’axe optique de la caméra doit être perpendiculaire au plan dans
lequel se déplace l’objet étudié. Il doit pointer environ vers le milieu
de la trajectoire probable.</p></li>
<li><p>On commence à filmer avant l’évènement, on arrête après
l’évènement. Il est préférable de fixer le début et la fin de la
séquence vidéo à l’étape de montage.</p></li>
<li><p>Utiliser un logiciel libre de montage, et couper la séquence
pertinente. Quelques dizaines d’images au plus suffisent. La choix d’un
logiciel libre assure que les codecs utilisés ne poseront pas de
problème à l’avenir. Exemples de logiciels utilisables : <a
href="http://fr.wikipedia.org/wiki/Kino_(logiciel)">Kino</a>, <a
href="http://fr.wikipedia.org/wiki/Cinelerra">Cinelerra</a>. La vidéo
sera enregistrée dans un conteneur au format <code
class="computeroutput">.avi</code> ou <code
class="computeroutput">.mp4</code>, <code
class="computeroutput">.ogv</code>, etc.</p></li>
</ul>
<h2 id="utilisation-de-pymecavideo">Utilisation de PyMecaVideo</h2>
<p>Il faut bien sûr commencer par charger une vidéo avant de pouvoir en
faire quoi que ce soit. Ça peut se faire au lancement de la commande, en
tapant en ligne de commande : <code
class="computeroutput">pymecavideo nom_de_fichier_video.avi</code>, ou
en mode graphique quand <span class="symbol">PyMecaVideo</span> est
lancé, par le menu Fichier ↦ Ouvrir une vidéo, ou encore si on veut une
des vidéos d’exemple, par le menu Aide ↦ Exemples ...</p>
<h1 class="toc" id="longlet-pointage">L’onglet Pointage</h1>
<h2 class="toc" id="régler-léchelle">Régler l’échelle</h2>
<p><img src="snap4.png" class="leftalign" /></p>
<p>Quand on dispose d’un fichier vidéo ouvert, le bouton « Définir
l’échelle » est actif, mais la valeur de l’échelle est encore indéfinie.
On peut utiliser le curseur ou le champ de numéro d’image pour faire
apparaître une image autre que la première de la séquence vidéo. Il faut
que l’objet étalon soit dans le champ, et il faut connaître sa longueur
en mètre.</p>
<p>On clique alors sur ce bouton, on renseigne la longueur de
l’objet-étalon dans le dialogue qui surgit (on utilise la virgule ou le
point comme séparateur décimal, indifféremment : par exemple 0,60 m pour
signifier 60 cm), on valide, puis lorsque le curseur de la souris
devient une croix verticale, on réalise un <em>tirer-glisser</em> le
long de l’objet-étalon.</p>
<p><img src="snap7.png" class="leftalign" /></p>
<p>Quand l’échelle est définie, le bouton précédent devient « Refaire
l’échelle » : on peut donc recommencer à saisir l’échelle à nouveau.</p>
<h2 class="toc" id="choix-du-nombre-dobjets-à-étudier">Choix du nombre
d’objets à étudier</h2>
<p>Par défaut, on étudie le mouvement d’un seul objet, le référentiel
étant celui de la caméra.</p>
<p><img src="snap8.png" class="leftalign" /></p>
<p>Il est possible de faire porter l’étude sur deux objets ou plus. Un
des objets de la série pourra plus tard être utilisé comme nouvelle
origine du référentiel pour recalculer une vidéo.</p>
<p>Pour étudier plus d’un objet, il faut modifier la valeur affichée
dans la zone intitulée « Objets à étudier : »</p>
<h2 class="toc" id="pointer-les-positions">Pointer les positions</h2>
<p><img src="snap6.png" class="leftalign" /></p>
<p>On peut décider de ne pas commencer le pointage dès la première
image. Dans ce cas, il faut choisir manuellement l’image initiale à
l’aide du curseur en haut à gauche, ou du champ de sélection de numéro
d’image. Le pointage commence quand on clique sur le bouton
« Démarrer ».</p>
<p><img src="snap9.png" class="leftalign" /></p>
<p>Quand l’acquisition est en cours, une petite phrase dans la ligne de
statut, en bas de la fenêtre, rappelle le numéro du point qu’on est
censé cliquer en suivant. Les traces des points précédemment cliqués
apparaissent en couleurs. Les points de couleur doivent se suivre sans
discontinuité, sinon c’est la marque d’une faute de pointage.</p>
<h3 class="toc" id="défaire-et-refaire">Défaire et refaire</h3>
<p><img src="snap10.png" class="leftalign" /></p>
<p>Les icônes « défaire » et « refaire » permettent éventuellement de
rattraper une faute de pointage quand celle-ci est reconnue.</p>
<p>Il n’est possible de refaire des pointages antérieurs que tant qu’on
n’a apporté aucune modification aux pointages précédemment défaits. Dès
qu’un des pointages est corrigé à l’aide de la souris sur la vidéo, les
pointages suivants disparaissent de la liste à refaire, et le bouton
« refaire » est aussitôt inactivé (grisé).</p>
<p>Il est possible d’arrêter le pointage à tout moment, éventuellement
avant la fin de la séquence vidéo.</p>
<h2 class="toc" id="enregistrer-le-travail">Enregistrer le travail</h2>
<p>Après que des points aient été repérés, il devient possible
d’enregistrer le travail grâce au menu Fichier ↦ Enregistrer le projet
mecavideo. On choisit alors un fichier de type <code
class="computeroutput">.mecavideo</code><sup id="a2"><a
href="#f2">2</a></sup></p>
<h1 class="toc" id="le-volet-des-trajectoires">Le volet des
trajectoires</h1>
<p><img src="snap12.png" class="leftalign" /></p>
<p>Quand les pointages sont faits, il est intéressant d’activer le volet
des trajectoires. Celui-ci permet d’attirer l’attention plus précisément
sur le mouvement et la vitesse des objets étudiés, en faisant apparaître
ceux-ci sans la vidéo où on les avait capturés.</p>
<h2 class="toc" id="représentation-absolue-ou-relative">Représentation
absolue ou relative</h2>
<p><img src="snap11.png" class="leftalign" /></p>
<p>Sitôt que plus d’un point fait partie de l’étude, il est possible de
faire afficher les positions et les vitesses de plusieurs façons : soit
les positions et les vitesses « absolues », c’est-à-dire relatives au
référentiel de la caméra, soit les positions et les vitesses
« relatives » par rapport à un des objets étudiés, choisi comme origine
d’un nouveau référentiel.</p>
<h2 class="toc" id="léchelle-pour-les-vecteurs-vitesse">L’échelle pour
les vecteurs vitesse</h2>
<p><img src="snap13.png" class="leftalign" /></p>
<p>Si on active la case à cocher « Montrer les vecteurs vitesse », il
convient de choisir une échelle appropriée. L’échelle des vecteurs
vitesse se règle à l’aide d’une zone de saisie intitulée « Échelle de
vitesses ».</p>
<p>Modifiez sa valeur et appuyez sur la touche Entrée pour obtenir une
autre taille des vecteurs vitesse.</p>
<p>Les boutons radio « Près de la souris » et « Partout » permettent
d’obtenir le tracé des vecteurs vitesse au survol des points par la
souris, ou alors à <em>chaque emplacement</em> où un vecteur vitesse
peut être calculé.</p>
<h2 class="toc" id="créer-une-vidéo-de-synthèse">Créer une vidéo de
synthèse</h2>
<p><img src="snap15.png" class="leftalign" /></p>
<p>Dans le volet des trajectoire, sitôt que le référentiel n’est plus la
caméra, le bouton « Voir la vidéo » est activé. Cela permet de voir le
film tel qu’il aurait été si la caméra avait été solidaire de l’objet
sélectionné comme origine du référentiel.</p>
<p>Quand le visionneur de vidéo intégré se lance, il possède un curseur
qui permet de ralentir plus ou moins le déroulement de la vidéo de
synthèse.</p>
<h3 class="toc" id="exemple-de-vidéo-de-synthèse">Exemple de vidéo de
synthèse</h3>
<p>Les vidéos de synthèse sont intéressantes quand on choisit comme
origine de référentiel un point qui se déplace en ligne droite à vitesse
constante.</p>
<p>Par exemple, on peut étudier simultanément deux points, dans une
vidéo d’un cycliste laissant tomber un objet : un point du cadre du vélo
(P<sub>1</sub>) et un point de l’objet qui tombe (P<sub>2</sub>). Dans
le référentiel terrestre, celui de la caméra si on est en plan fixe, la
trajectoire de P<sub>2</sub> est une parabole. Mais dans le référentiel
galiléen d’origine P<sub>1</sub>, le point P<sub>2</sub> est en chute
libre sans vitesse initiale.</p>
<p>Dans ces circonstances, la vidéo de synthèse obtenue après avoir
choisi de représenter le volet des trajectoires à partir de l’origine
P<sub>1</sub> montre bien une chute libre.</p>
<p><em>NB.</em> : quand on choisit de réaliser une vidéo de synthèse, il
faut garder présent à l’esprit que les images seront en fait découpées à
l’intérieur des images déjà existantes. Il faut donc éviter de traiter
des images où le point utilisé comme origine s’approche trop du bord de
l’image, parce que ça diminue la taille du gabarit de découpe qui
produit la vidéo de synthèse.</p>
<h1 class="toc" id="le-volet-des-coordonnées">Le volet des
coordonnées</h1>
<p><img src="snap16.png" class="leftalign" /></p>
<p>Le troisième volet de PyMecaVideo est le volet des coordonnées. Il
présente un tableau dont la première colonne représente des dates en
seconde, et les suivantes des coordonnées en mètre des points étudiés.
Ce tableau est juste là pour démystifier le fonctionnement de <span
class="symbol">PyMecaVideo</span>, montrer qu’il ne s’agit que de
traitement numérique.</p>
<p>Il est possible d’ajouter des colonnes calculées dans le tableau, si
on coche les cases des énergie <strong>Cinétique</strong>,
<strong>Potentielle</strong>, <strong>Mécanique</strong> ; enfin, la
dernière colonne de ce tableau contient un bouton ornée de l’icône de
<span class="symbol">PyMecaVideo</span>, qui permet de pointer à nouveau
(à la main) les objets correspondant à une ligne défectueuse. On peut
aussi pointer les objets des lignes vides immédiatement voisines d’un
pointage déjà fait.</p>
<h2 class="toc"
id="exporter-des-données-vers-dautres-applications">Exporter des données
vers d’autres applications</h2>
<p><img src="snap17.png" class="leftalign" /></p>
<p>Le bouton « Copier les données vers le presse-papiers » permet
d’exporter la totalité du tableau vers le presse-papiers. Il est aussi
possible de sélectionner (de mettre en surbrillance) une partie du
tableau pour que cette partie soit automatiquement copiée vers le
presse-papiers. La partie sélectionnée peut aussi être tirée-glissée
vers d’autres applications. Si ces applications sont capables de
récupérer les données et d’en faire usage, elles accepteront
l’exportation. C’est le cas des traitements de texte et des tableurs les
plus courants.</p>
<h2 class="toc" id="les-logiciels-de-traitement-des-données">Les
logiciels de traitement des données</h2>
<p><img src="snap18.png" class="leftalign" /></p>
<p>Le volet « coordonnées » de Pymecavideo permet des exportation
automatiques vers divers logiciels de traitement de données, grâce au
menu déroulant « Exporter vers… ». Les exportations automatiques
permettent l’ouverture des logiciels choisis, avec les données prêtes à
l’utilisation. Le tableau suivant signale les logiciels supportés, ainsi
que leur disponibilité sous GNU/Linux et sous <span
class="trademark">Windows</span>™.</p>
<p><strong>Tableau 1. Logiciels libres de traitement des
données</strong></p>
<table>
<colgroup>
<col style="width: 42%" />
<col style="width: 57%" />
</colgroup>
<thead>
<tr class="header">
<th>Logiciel</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> LibreOffice <strong><a
href="http://fr.openoffice.org/docs/Calc.html">Calc</a></strong></td>
<td>Un tableur populaire, plutôt destiné à la bureautique</td>
</tr>
<tr class="even">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> Python (source)</td>
<td>L’export se fait sous forme de fichier source Python ; il suffit de
le reprendre avec un éditeur approprié</td>
</tr>
<tr class="odd">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> Python (numpy)</td>
<td>L’export se fait sous forme de fichier de donnée optimisé pour
l’usage avec Python/numpy ; une suggestion est faite pour utiliser ce
format</td>
</tr>
<tr class="even">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> Jupyter notebook</td>
<td>Le format notebook (bloc-note) de Jupyter est exploitable par un
serveur Jupyter. Ce serveur peut être installé sur l’ordinateur local,
ou accessible à travers Internet ; les blocs-notes de Jupyter sont
riches de possibilités éducatives</td>
</tr>
<tr class="odd">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> fichier CSV</td>
<td>Le format CSV (champs séparés par des « virgules » est un format
texte universel, reconnu par tous les logiciels de traitement de
données. Ici, le séparateur de champs est la tabulation, le séparateur
décimal est une virgule</td>
</tr>
<tr class="even">
<td><img src="tux-w32.png" width="32" /> <img src="win-w32.png"
width="32" /> Pandas Dataframe</td>
<td>Pandas est un module pour Python3, qui est dédié au traitement de
grandes séries de données, ce qui est à peu près le cas de
<code>numpy</code> aussi. Le fichier exporté est à un format spécial
pour <code>pandas</code> et une suggestion est faite pour
l’utiliser</td>
</tr>
</tbody>
</table>
<h1 class="toc" id="les-préférences-de-pymecavideo">Les préférences de
PyMecaVideo</h1>
<p>À chaque fermeture de l’application, <span
class="symbol">PyMecaVideo</span> enregistre un fichier de préférences,
nommé <code>pymecavideo.conf</code>. C’est un fichier texte lisible,
dont voici un exemple :</p>
<pre class="programlisting"><code>[DEFAULT]
version = pymecavideo 7.3.2-1
proximite = True
lastvideo = data/video/balle-jbart.mp4
videodir = data/video
niveaudbg = 0
sens_x = 1
sens_y = 1
taille = (817,852)
rotation = 90
origine = (311, 389)
index_depart = 12
etalon_m = 0.297
etalon_px = 116.1077086157504
etalon_org = (324, 154)
etalon_ext = (319, 270)
deltat = 0.01
nb_obj = 1</code></pre>
<p>L’emplacement de ce fichier sous GNU/Linux est sous le répertoire
caché <code>.local/share/pymecavideo</code> du dossier personnel ; sous
Windows il est placé dans le dossier
<code>C:\Users\<USER>\AppData\Local\pymecavideo</code>.</p>
<p>Ces préférences comprennent le nom du dernier fichier vidéo ouvert,
la taille de la fenêtre de l’application, la place de l’étalon utilisé
pour l’échelle si celui-ci a été défini, la position et les sens du
repère, etc.</p>
<h1 class="toc" id="comment-contribuer">Comment contribuer</h1>
<ul>
<li><p><strong>En rapportant les bogues</strong> aux auteurs. Celles-ci
peuvent être de diverses natures : dysfonctionnement du logiciel,
mauvaise présentation de l’interface, souhait d’amélioration, etc.</p>
<p>Dans chaque cas, soyez très précis : un rapport de bogue ne permet à
l’auteur de réagir que si celui-ci donne une description détaillée.
Aussi, n’hésitez pas à jeter un coup d’œil dans les sources du
logiciel : elles sont à votre disposition ! en fait, plus d’un
contributeur s’est déjà joint aux auteurs, à l’occasion d’un rapport de
bogue, pour lequel il apportait la solution (par une modification de la
source).</p>
<p>Les sources de Pymecavideo sont en langage Python, et en général
assez bien commentées pour être largement compréhensibles.</p></li>
<li><p>Publiez des <strong>vidéos pédagogiques sous licences
libres</strong> ! Les vidéos déjà utilisables ne manquent pas, mais
beaucoup d’entre elles sont publiées sans que leur licence permette
vraiment de les réutiliser librement.</p>
<p>Notez bien qu’une vidéo sans licence, en droit français, appartient à
son auteur et ne peut pas être redistribuée sans son consentement
écrit.</p></li>
<li><p>Une liste de diffusion permet d’échanger des idées de façon
constructive, abonnez vous à <a
href="mailto:pymecavideo-request@lists.tuxfamily.org?subject=subscribe"><code
class="sourceCode email"><pymecavideo@lists.tuxfamily.org></code></a></p></li>
</ul>
<h1 id="a.-notice-légale-concernant-pymecavideo">A. Notice légale
concernant PyMecaVideo</h1>
<h2 id="auteurs">Auteurs</h2>
<p>© 2007-2022, <span class="author"><span
class="firstname">Jean-Baptiste</span> <span
class="surname">Butet</span></span> <code
class="sourceCode email"><ashashiwa@gmail.com></code> : initiateur
du projet PyMecaVideo, premier auteur du code source</p>
<p>© 2008-2023, <span class="author"><span
class="firstname">Georges</span> <span
class="surname">Khaznadar</span></span> <code
class="sourceCode email"><georgesk@debian.org></code> :
documentation, empaquetage Debian, réorganisations du code et
extensions</p>
<p>© 2008-2010, <span class="author"><span
class="firstname">Benoît</span> <span
class="surname">Markey</span></span> <code
class="sourceCode email"><markey@free.fr></code> : vidéos
d’exemple</p>
<p>© 2010, <span class="author"><span class="firstname">Cédrick</span>
<span class="surname">Faury</span></span> <code
class="sourceCode email"><cedrick.faury@laposte.net></code> :
portage sous Windows, contributions</p>
<h1 id="licence-du-programme">Licence du programme</h1>
<p>Le programme est sous licence libre, vous pouvez le copier, le
distribuer et le modifier, dans le respect de la licence <a
href="http://www.gnu.org/licenses/quick-guide-gplv3.fr.html">GPL-V3</a></p>
<h2 id="licence-des-exemples">Licence des exemples</h2>
<p>Les vidéos qui accompagnent le programme à titre d’exemple sont
diffusées sous la licence <a
href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">CC-BY-SA
3.0</a>.</p>
<p>Selon les termes de cette licence, vous avez le droit de copier et
diffuser les vidéos, ainsi que d’en faire des dérivés, et l’obligation
de citer l’auteur original, ainsi que d’appliquer la même licence aux
travaux dérivés.</p>
<hr />
<h1 id="notes">Notes</h1>
<div class="footnote">
<p><b id="f1">1</b> <a href="#a1">↩︎</a> Attention, un grand nombre de
séquences vidéo sont encodées à l’aide de logiciels de codage/décodage
(codecs) propriétaires, dont les concepteurs interdisent d’étudier le
fonctionnement. <span class="symbol">PyMecaVideo</span> est un logiciel
libre, il n’incorpore pas de sous-ensemble opaque, donc il vous
appartient de vérifier la codec utilisé par les séquences vidéo que vous
voulez utiliser.</p>
<p>Attention : le format <code class="computeroutput">.avi</code> du
fichier est un format conteneur, qui autorise différents codecs. On ne
peut donc pas se baser sur le nom complet du fichier pour deviner le
codec de celui-ci. Pour déterminer le codec d’un fichier vidéo, vous
pouvez utiliser la commande <code class="computeroutput">file</code> en
ligne de commande pour GNU/Linux, par exemple :</p>
<pre class="programlisting"><code>$ file video/g1.avi
video/g1.avi: RIFF (little-endian) data, AVI, 400 x 300, 25.00 fps, video: DivX 5</code></pre>
<p>L’exemple ci-dessus montre que le conteneur <code>AVI</code>
encapsule une vidéo dont le codeur/décodeur (codec) est
<code>DivX</code> version 5.</p>
</div>
<div class="footnote">
<p><b id="f2">2</b> <a href="#a2">↩︎</a> Le type de fichiers <code
class="computeroutput">.mecavideo</code> équivaut à un type de fichier
<code class="computeroutput">.csv</code>, c’est à dire qui contient des
données à un format texte pur, humainement lisible ; les lignes qui ne
commencent pas par le caractère <code>#</code> sont des champs
numériques, séparés par des tabulations (nombres au format
français).</p>
<p>Essayez d’ouvrir un fichier que vous produirez ainsi à l’aide d’un
éditeur de texte, vous vous rendrez compte de sa structure, claire et
simple à comprendre : après un rappel des préférences courantes, il y a
la liste des objets pointés, avec le temps en seconde et les coordonnées
en mètre.</p>
</div>
<script>
var h = $(".toc");
var ul = $("<ul>",{"class": "toclist"});
var h3 = $("<h3>").append($("<a>",{href:"#"}).text("Table des matières"));
var d = $("<div>",{"class": "tocdiv"}).append(ul)
$("#toc").append(h3).append(d);
h.each(function(i, v){
var self = $(v)
console.log(self);
var a = $("<a>",{href: "#"+self.attr("id")}).text(self.text());
var tag = self.prop("tagName");
var li = $("<li>",{"class": tag + " tocli"}).append(a);
ul.append(li);
});
$("div.accordian").accordion({
autoHeight: false,
collapsible: true,
active: false
});
</script>
</body>
</html>
|