« Kinect » : différence entre les versions
Aller à la navigation
Aller à la recherche
Ligne 42 : | Ligne 42 : | ||
===Varicelle=== | ===Varicelle=== | ||
Fait deux choses: | Fait deux choses: | ||
# capte et renvoie l'image Kinect | # capte et renvoie l'image formé par la Kinect | ||
# contrôle l'angle vertical de la kinect | # contrôle l'angle vertical de la kinect par l'intermédiaire de la souris (kinect.tilt) | ||
NB: il s'agit aussi de tester la caméra | NB: il s'agit aussi de tester la caméra infrarouge. Essayez avec une télécommande de télé ou une <em>led</em> infrarouge quelconque | ||
<pre> | <pre> | ||
import librarytests.*; | import librarytests.*; |
Version du 8 juillet 2011 à 19:49
Procédure d'installation de la Kinect Sous MacOS
Installation des librairies sous Processing
- Aller sur ce lien.
- Télécharger openkinect.zip
- Le décompresser
- Copier le répertoire dans Documents/Processing/librairies
Quelques exemples, fournis par Douglas E. Stanley (Mapping 2011 & HEAD, Genève)
Mettre ces sketches dans un répertoire sous Documents/Processing/ Jouer ces sketches via File/Sketchbook/votreRepertoireTest
Skeleton
Ce sketch ne fait rien... sauf initialiser l'espace de travail; il montre la structure de base d'un programme Processing utilisant la Kinect.
import librarytests.*; import org.openkinect.*; import org.openkinect.processing.*; Kinect kinect; void setup() { kinect = new Kinect(this); kinect.start(); } void draw() { } void stop() { kinect.quit(); super.stop(); }
Varicelle
Fait deux choses:
- capte et renvoie l'image formé par la Kinect
- contrôle l'angle vertical de la kinect par l'intermédiaire de la souris (kinect.tilt)
NB: il s'agit aussi de tester la caméra infrarouge. Essayez avec une télécommande de télé ou une led infrarouge quelconque
import librarytests.*; import org.openkinect.*; import org.openkinect.processing.*; Kinect kinect; void setup() { size(640,480); //standard kinect screen kinect = new Kinect(this); kinect.start(); kinect.enableIR(true); } void draw() { PImage img = kinect.getVideoImage(); image(img,0,0); } void mouseMoved() { float t = map(mouseY, 0,height,30,-30); println(t); kinect.tilt(t); } void stop() { kinect.quit(); super.stop(); }
Closest
Repère le point le plus proche de la Kinect, et le marque d'un rond rouge, plus ou moins gros selon la distance.
import librarytests.*; import org.openkinect.*; import org.openkinect.processing.*; Kinect kinect; void setup() { size(640, 480); kinect = new Kinect(this); kinect.start(); kinect.enableDepth(true); } void draw() { int closestValue = 4096; int closestIndex = -1; // draw the raw image int[] rawDepth = kinect.getRawDepth(); for (int i=0; i <640*480; i++) { if (rawDepth[i] > 0 && rawDepth[i] < closestValue) { closestValue = rawDepth[i]; closestIndex = i; } } image(kinect.getDepthImage(),0,0,640,480); if (closestIndex > -1) { fill(255,0,0); ellipse(closestIndex % 640, closestIndex / 640, closestValue*0.1, closestValue*0.1); } } void stop() { kinect.quit(); super.stop(); }
Documentation
- Page de documentation de Daniel Shiffman