« Kinect » : différence entre les versions

De Wikilipo
Aller à la navigation Aller à la recherche
Ligne 77 : Ligne 77 :
</pre>
</pre>


===Alentour===
===Le plus proche===
Repère le point le plus proche de la Kinect, et le marque d'un rond rouge, plus ou moins gros selon la distance.
Repère le point le plus proche de la Kinect, et le marque d'un rond rouge, plus ou moins gros selon la distance.
<pre>
<pre>
Ligne 121 : Ligne 121 :
}
}
</pre>
</pre>
===Distinguer===
détache les formes utiles à l'interaction de l'arrière-fond capté par la kinect (profondeur de champ)


= Le stage de mars-avril 2012 aux ac de l'Université de Genève=
= Le stage de mars-avril 2012 aux ac de l'Université de Genève=

Version du 17 mars 2012 à 22:20

Installation de librairies kinect en Processing sous macos x, linux et windows

pour Mac OS (openkinect de D. Schiffman)

  • Aller sur ce lien.
  • Télécharger openkinect.zip et le décompresser
  • Copier le répertoire openkinect dans ../Documents/Processing/librairies

pour Mac OS, Linux, Windows (Simple OpenNI)

Quelques exemples tirant parti des librairies openkinect (reprises par D.E. Stanley, HEAD, Genève)

  • Mettre ces sketches dans un répertoire sous Documents/Processing/
  • Lancer ces sketches dans Processing via File/Sketchbook/votreRepertoireTest

Canevas

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:

  1. capte et renvoie l'image formée par la Kinect
  2. contrôle l'orientation angulaire verticale 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(); 
}

Le plus proche

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(); 
}

Le stage de mars-avril 2012 aux ac de l'Université de Genève

Le fil rouge prévu

le 27 mars 2012

  • Exemples d'utilisation de la kinect dans les arts électroniques et numériques
    • Emoshan, voir l'applet web publiée sous coaltar.ch;
    • Project SoundDesign - une application illustrant l'utilisation de la kinect pour moduler la composition spectrale et harmonique d'une pièce musicale;
    • autres exemples (voir aussi le paragraphe documentaire ci-dessous).
  • Mise en place de l'IDE sous Processing, les principales librairies de ce langage disponibles à ce jour
  • Initiation aux principales données accessibles à travers la kinect:
    • l'image vidéo rgb;
    • la Depth Image (mesure de distance et reconnaissance de proximité par IR en 2D);
    • les Point Clouds (nuages de points IR, la 3D et ses applications interactives);
    • la reconnaissance du corps et ses mouvements - openNI et les Skeleton Data.

le 3 avril 2012

  • Projets à réaliser, quelques pistes:
    • tirant parti de la Depth Image, le crayon invisible et les sélecteur d'images;
    • tirant parti du Point Cloud, le clavier virtuel;
    • tirant parti des Skeleton Data, l'accordéon virtuel et la danse comme instrument de musique
    • et les projets personnels proposés par les stagiaires.

Le code étudié au cours de l'atelier

(sera mis en ligne à l'issue de celui-ci).

Documentation

Processing et les librairies gérant la kinect

sites, blogs, réseaux sociaux

ressources bibliographiques, articles, sites