Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
The car of jtt x.jpg
Publicité
Formation Blender ElephormBlender 3d Elephorm


     






Exploitation de données depuis Blender
Touriste
Inscrit:
03/10/2013 10:42
Post(s): 2
Bonjour à tous,

J'ai téléchargé il y a peu le logiciel blender pour utiliser le suivi automatique d'un point sur une vidéo à l'aide la fonction Track. Étudiant la marche de l'être humain que je souhaite modéliser sous Matlab j'ai donc filmé un cobaye avec des marqueurs de couleurs sur ses articulations.

J'ai donc les trajectoires de mes points, cependant j'aimerais sortir les valeurs sous forme de tableau pour pouvoir les exploiter sous forme graphique. Est ce possible avec le logiciel Blender?

De plus j'aimerais définir une origine et des axes afin d'avoir des valeurs normalisées.

En vous remerciant d'avance pour votre aide

Contribution le : 03/10/2013 11:11
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
16/01/2011 18:05
De Le plus grand terrier du monde ! Et le plus high-tech.
Post(s): 4057
Si je comprends bien, tu souhaite récupérer pour chaque image de ta vidéo la position de tes marqueurs, et reconstruire la marche de ton cobaye ?
Auquel cas c'est largement possible, un script python (tu t'y connais ?) peut récupérer tes données sous forme de tableau à chaque image de l'animation. Ensuite soit tu récupère ces données brutes soit il peut les exporte sous un format ouvrable par un tableur classique. Pour les exporter directement sous matlab aucune idée, mais je pense qu'il doit exister des librairies pour cela.
Ensuite pour l'origine et les axes, tu peux retraiter des coordonnées après coup: exemple tu décide que le point A(x,y) devient l'origine, alors pour le point B(x+1,y+4), tu fait (Bx-Ax, By-Ay) et tu as tes coordonnées par rapport à ton origine. Tu peut même utiliser un trackeur statique (qui ne suit aucun point) comme origine dans ton script. Ce sera certainement plus confortable pour toi.
Par contre pour les axes c'est plus compliqué, le retraitement des données va être plus compliqué (si ton repère est pas orthogonal...).

Mais oui c'est parfaitement faisable.

Bon blend comme on dit içi ! Et bienvenu sur le

Contribution le : 03/10/2013 11:46
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
29/04/2007 20:11
De Nîmes...300 jours de soleil par an, inondations le reste du temps
Post(s): 3774
Si je comprends bien, tu as déjà fait le tracking et tu as une animation exploitable dans Blender. Dans ce cas, en passant par un script Python ça devrait marcher.

Je ne connais pas précisément l'API Python pour Blender (ni les bibliothèques standards), mais en pseudocode ça donnerait :
récupérer les empties qui servent au tracking et les stocker dans une liste
ouvrir un fichier en écriture
pour chaque empty dans la liste : 
   initialiser une chaîne de caractères
   pour i de 0 à longueur de l'animation :
      ajouter la position actuelle et un caractère de séparation au choix à la chaîne
   fin pour
   écrire la chaîne à la fin du fichier, ajouter un retour à la ligne
fin pour
enregistrer et libérer le fichier.

Il est probablement préférable de stocker les lignes en mémoire pour les écrire toutes d'un coup à la fin, mais c'est un détail d'implémentation, le principe reste le même.

De cette façon, tu enregistres un fichier CSV ; c'est un format standard donc tu dois pouvoir l'importer dans Matlab. Au pire tu importes dans Excel, il fait ça très bien et tu pourras faire tes graphes .

Les valeurs seront normalisées, mais par rapport au repère de Blender. En parentant tous les empties de tracking à un empty isolé, tu peux corriger les axes en jouant sur la rotation et l'échelle de l'empty parent (c'est le plus simple si tu connais le décalage angulaire, sinon bon courage pour le calculer...).

Contribution le : 03/10/2013 11:49
_________________
|C'est en forgeant qu'on devient forgeron, c'est en mouchant qu'on devient moucheron et c'est en sciant que Léonard devint scie.
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
27/11/2010 20:09
Post(s): 406
il y a, aussi, le format BVH que Blender gère bien, qui contient une description de la structure et la liste des coordonnées image par image. Ce format sert notamment dans le transfert de capture de mouvements, ou l'échange d'animation entre logiciels différents.

- -
S.

Contribution le : 03/10/2013 15:14
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
Touriste
Inscrit:
03/10/2013 10:42
Post(s): 2
Bonsoir, tout d'abord merci pour les réponses et la rapidité de celles-ci.

J'ai en effet un track sur une vidéo mp4 et je voudrais ressortir des tableaux me permettant d'avoir la position de chacun des points en fonction du temps. Que signifie des valeurs normalisées par rapport au repère Blender? Est il possible de définir un repère soit même en connaissant une des grandeurs caractéristiques présentes sur la vidéo?

Enfin je n'y connais absolument en python si ce n'est que c'est un langage de codage, comment faire pour insérer ces lignes de code dans Blender?

Un grand merci et bonne soirée

Contribution le : 06/10/2013 21:10
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
11/11/2007 11:33
Post(s): 1749
Si tu n'y connais rien en Python, regarde plutôt du côté de la solution de Sulivan. Mais je ne pourrais pas en dire plus car je ne connais aps du tout le format BVH :S

Contribution le : 06/10/2013 21:13
_________________
La Tortue se meut !
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
15/06/2006 11:11
De Rennes
Post(s): 759
Bonjour,
Juste une remarque en passant : si j'étais toi je ferais ça à la barbare : associer à chaque tracker un point blanc de taille 1 pixel, faire un rendu sur fond noir (avec un seul point à la fois). Ensuite toutes ces vidéos (autant de vidéos que de points trackés) tu les charges sous Matlab et pour chacune tu repères la position du point blanc.
C'est très, très moche je sais, mais encore une fois, "si c'était moi", je sais que ça irait plus vite comme ça plutôt que de me pencher sur la documentation Python
Après, si tu débutes sous Blender, il sera sans doute aussi rapide d'écrire un script.

Contribution le : 07/10/2013 20:06
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
16/01/2011 18:05
De Le plus grand terrier du monde ! Et le plus high-tech.
Post(s): 4057
Citation :

Bonjour,
Juste une remarque en passant : si j'étais toi je ferais ça à la barbare : associer à chaque tracker un point blanc de taille 1 pixel, faire un rendu sur fond noir (avec un seul point à la fois). Ensuite toutes ces vidéos (autant de vidéos que de points trackés) tu les charges sous Matlab et pour chacune tu repères la position du point blanc.
C'est très, très moche je sais, mais encore une fois, "si c'était moi", je sais que ça irait plus vite comme ça plutôt que de me pencher sur la documentation Python
Après, si tu débutes sous Blender, il sera sans doute aussi rapide d'écrire un script.


Oui c'est la solution de Pixelvore est bien pls simple si tu ne connait pas python.
En plus MatLab possède un langage de programmation propre ?
Car à ce moment la tu rend ton animation avec des points blancs(par exemple) et ensuite avec un script MatLab tu regarde sur chaque image les coordonnées de tes points blancs. Et voilà, tu n'as plus qu'a les retraités comme je disait plus haut pour avoir l'origine voulue.
Mais je dit peut-être des conneries, je ne connaît Matlab que de nom alors je sais pas si tu peut faire ça dessus...

Contribution le : 08/10/2013 17:03
Créer un fichier PDF de la contribution Imprimer


Re: Exploitation de données depuis Blender
OverdOzed
Inscrit:
15/06/2006 11:11
De Rennes
Post(s): 759
C'est tout à fait possible avec Matlab, il dispose de fonctions pour charger des vidéos. Je ne l'ai jamais utilisé pour traiter de la vidéo, mais pour de l'image statique j'ai déjà fait et c'est juste 2 lignes pour passer d'un fichier image à une matrice chargée en mémoire :

img = imread('lena.tiff');% bien mettre Matlab dans le bon répertoire
img = im2double(img); % pour passer en nombres à virgules de 0 à 1

Ensuite pour trouver la position du point blanc suffit de faire :

[maxValue maxIndex] = max(img(:));

maxValue on s'en fiche ça donnera le 1.0 du pixel blanc, ce qui importe c'est maxIndex qui contiendra la position du pixel blanc, en coordonnées "linéaires" où on considère que les colonnes de l'image ont été mises bout à bout. Pour repasser en coordonnées ligne - colonne :

height = size(img, 1); width = size(img, 2); % hauteur et largeur de l'image / nombre de lignes et colonnes
jMax = floor(maxIndex / height) + 1;
iMax = maxIndex - (jMax-1) * width;

Et là (iMax, jMax) sont les coordonnées ligne - colonne du pixel blanc.

En espérant que ça puisse servir à renovatio73 :)

[edit] ou sinon on peut effectuer le calcul du max colonne par colonne au lieu de le rechercher dans toutes les colonnes mises bout à bout. Comme ça on trouve direct les coordonnées ligne - colonne sans avoir à convertir :
[colMaxs jMaxs] = max(img); % colMaxs est un vecteur contenant le max de chaque colonne, jMaxs est un vecteur contenant la ligne du max de chaque colonne
[max iMax] = max(colMaxs); % ensuite on scanne colMax et on trouve la ligne du max
jMax = jMaxs(iMax); % et enfin dans jMaxs on prend l'indice qui correspond à la bonne ligne

Contribution le : 08/10/2013 17:48
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Moteur de jeu GameBlender et alternatives Problème Visual Studio Code dans Armory3D 1 14 Aujourd'hui 00:43:34
DaWaaaaghBabal 
Questions & Réponses Aide UV mapping. Détordre le mappage! 4 43 Hier 23:17:25
busanga 
[WIP] et travaux terminés [terminé] VFX Harry Potter 6 136 Hier 21:58:47
moonboots 
Questions & Réponses Où mettre un Tutoriel? 3 69 Hier 21:57:39
moonboots 
Questions & Réponses [résolu] Duplication de groupe dans Blender 2.8? 7 131 Hier 21:53:46
moonboots 
Questions & Réponses [non résolu] Scale "mode objet" ne tient pas compte des axes du repère personnalisé    [1][2] 15 212 Hier 13:50:21
paquetdemouchoirs 
Questions & Réponses [WIP] Comment modifier le diamètre d'un cercle    [1][2] 15 220 Hier 13:05:39
busanga 
Questions & Réponses [résolu] Faire apparaître les boutons de la souris sur l'écran ? 4 110 Hier 10:15:42
Fracoris 
[WIP] et travaux terminés [WIP] Bataille Navale // Animation 3d    [1][2] 18 513 17/10 23:59:02
ju 
The Blender Clan 'tchat Présentation OlivierL. 3 113 17/10 11:58:05
Gilead_Maerlyn 
The Blender Clan 'tchat [Recrutement] 3D artists & animateurs pour jeu de simulation spatiale 3 312 15/10 22:55:21
ThePioneers 
Questions & Réponses Transférer une chevelure 0 85 15/10 13:44:40
Horemheb 
Questions & Réponses [résolu] Ne pas voir une partie d'un objet lors du rendu 9 206 15/10 13:07:02
Horemheb 
Questions & Réponses Blender 2.8 et Unity 4 169 14/10 13:30:42
Hook 
Python & Plugins [résolu] Comparaisons d'un ensemble de valeurs    [1][2] 10 349 14/10 09:31:56
makhaon 
Questions & Réponses [résolu] Rendu avec eevee, scène toujours lumineuse même sans lights. 2 174 12/10 22:17:48
Obaemon 
Questions & Réponses [non résolu] renderman Blender problème de connexion 2 185 12/10 19:18:54
tokoji 
[WIP] et travaux terminés [WIP] Nécromancienne sur sanglier    [1][2][3]...[6] 55 14296 10/10 18:45:51
Gilead_Maerlyn 
Moteur de jeu GameBlender et alternatives [résolu] BGE - son 3D, cône inner angle 1 215 10/10 15:35:54
Redstar 
Questions & Réponses Enlever les wireframes en object mode 1 162 10/10 02:29:52
Rimpotche 

Qui est en ligne
49 utilisateur(s) en ligne (dont 24 sur Forums)

Membre(s): 1
Invité(s): 48


Fredericka, plus...
Nouveaux membres
Katrin55R 19/10/2019
TarenTurne 19/10/2019
AmySeward 19/10/2019
BridgettHe 19/10/2019
Walker30U9 19/10/2019
Ulrike20C5 19/10/2019
RobtZ06144 19/10/2019
ONPChad06 19/10/2019
MaryjoFerr 19/10/2019
AlizaChery 19/10/2019
Dernier Ajout
Forky-3D-ToyStory BC.png

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 11
BUG de Lyon
plus 278 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445