Ta tête a subi une déformation temporelle!!!

5/5 (26 avis)

Vue 28 538 fois - Téléchargée 1 910 fois

Description

Merci de lire ce qui suit avant de poser des questions:

Ce code permet d'appliquer une déformation temporelle EN TEMPS REEL sur la vidéo qui sort d'une webcam. C'est à dire qu'une certaine durée du signal est mise en mémoire dans la carte graphique (par exemple 32 frames) et selon une fonction qui dépend du point de l'image sur lequel on se trouve, le pixel correspondant aura la valeur d'une des "strates" temporelles du signal. Par exemple, le mode par défaut crée un "puit temporel" centré sur le curseur de la souris, c'est à dire que les pixels qui sont au centre du puits sont affichés avec un décalage temporel par rapport aux pixels à l'extérieur du puit.

L'effet peut être assez trippant, voir par exemple la capture...

Pour compiler le programme, il faut déjà installer le package SmartParams fourni.

Pour l'utiliser, il faut déjà bien sûr avoir une webcam installée et prête à fonctionner, ainsi qu'une carte graphique pas trop vieille (en effet, le programme utilise des textures OpenGl 3D, et il faut des drivers à jour). Si ça va trop lentement, il faut soit diminuer la résolution de l'acquisition webcam, soit acheter un PC plus puissant ;-)

IMPORTANT: Lorsqu'on clique sur le boutton "Start", il faudra sélectionner le mode RGB24 lorsque la boîte de dialogue du driver apparait (sinon ça ne fonctionnera pas).

Il y a plein de paramètres sur lesquels on peut jouer:
  • Options de capture/Périphérique : le périphérique sélectionné (s'il y a plusieurs webcams installées sur l'ordinateur)
  • Options de capture/Frame rate : le taux théorique d'images par secondes (mais la plupart des drivers l'ignorent)
  • Performances/Plein écran
  • Performances/Double buffer : sur certains systèmes, ça ira plus vite en mode Double Buffer
  • Performances/Résolution : utilisée lors du mode plein écran
  • Performances/Couches temporelles : taille (en nombre de frames) du buffer temporel. Il est conseillé de n'utiliser des valeurs élevées qu'avec des cartes graphiques puissantes...
  • Performances/Résolution mesh : la qualité de l'interpolation (découpage en facettes) de la fonction de déformation
  • Paramètres/Theta : voir Paramètres/Méthode de déformation
  • Paramètres/Phi : voir Paramètres/Méthode de déformation
  • Paramètres/Méthode de déformation : forme de la fonction temporelle de déformation qui peut prendre 3 valeurs:

+ Method1: un puit temporel cônique de rayon phi et de profondeur theta
+ Method2: un maillage périodique de taille phi et de profondeur theta
+ Method3: une "hélice temporelle" tournoyante de vitesse phi et de taille theta

La plupart des paramètres (hormis ceux dans Paramètres/... ) doivent être définis avant de commencer la capture (ou alors il faudra l'arrêter et la relancer). En mode plein écran, il faut appuyer sur "escape" pour faire se réafficher la fenêtre de contrôle et la souris.

J'ai pu remarquer que selon les machines, les performances ne sont pas les même selon qu'on met la partie OpenGl dans le thread principal et la capture dans un thread secondaire, ou réciproquement. J'ai donc créé une architecture qui permet de choisir dans quel thread on veut faire s'exécuter chaque partie du programme: il suffit de faire un glisser-déplacer des 2 items ("Acquisition webcam" ou "rendering OpenGl") de l'une des 2 listbox vers l'autre. Si le programme va trop lentement chez vous, vous pouvez essayer plusieurs configurations parmi les 4 possibles. Là encore, les changements ne seront pris en compte qu'après avoir stoppé et relancé la capture.

Le programme n'a pas de commentaires pour l'instant, j'en mettrai uniquement si quelqu'un les demande.

Amusez vous-bien! <[8=D

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
2 août 2006 à 20:56
mon dieu LOL j'adore
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
3 août 2006 à 09:29
Mais pourquoi y'a jamais aucuns de ces programmes qui marchent chez moi à Forman ???
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
3 août 2006 à 12:56
Ca plante à quel moment?
cs_Michele58 Messages postés 34 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 26 août 2006
3 août 2006 à 12:58
NO COMMENT ... Je trouve nul dans mon cas et ne souhaitant jamais à avoir un webcam ! C'est encore un gadget de jeunesse... J'en passe...

Bizzz... Michèle
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
3 août 2006 à 13:21
> Je trouve nul dans mon cas et ne souhaitant jamais à avoir un webcam

Euh... je ne comprends pas trop ta phrase, mais c'est normal que ça te paraisse nul si tu n'as pas de webcam... en effet, ça ne risque pas de fonctionner!

Ceci dit, en théorie ça peut aussi fonctionner avec les cartes d'acquisition (type TV/tuner) qui gèrent le RGB24, j'ai même testé avec une carte d'acquisition branchée sur un camescope numérique, mais le driver plantait dès que la résolution dépassait 640x480

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.