« Kinect » : différence entre les versions

De Wikilipo
Aller à la navigation Aller à la recherche
Ligne 133 : Ligne 133 :


* Mise en place de l'IDE sous Processing, revue des principales bibliothèques gérant la kinect de ce langage disponibles à ce jour
* Mise en place de l'IDE sous Processing, revue des principales bibliothèques gérant la kinect de ce langage disponibles à ce jour
* Initiation à la programmation des principales données accessibles au travers de la kinect:
* Initiation à la programmation des principales données accessibles au travers de ''Simple openNI'':
** l'image vidéo rgb;
** l'image vidéo rgb;
** la ''Depth Image'' (mesure de distance et reconnaissance de proximité par IR en 2D);
** la ''Depth Image'' (mesure de distance et reconnaissance de proximité par IR en 2D);

Version du 29 mars 2012 à 12:33

Installation de bibliothèques kinect en Processing sous macos x, linux et windows

pour Mac OS (openkinect de D. Schiffman)

  • Aller sur ce lien et télécharger openkinect.zip;
  • Placer le répertoire résultant de la décompression openkinect dans ../Documents/Processing/libraries

pour Mac OS, Linux, Windows (Simple OpenNI)

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

  • pour en tirer parti, mettre ces sketches dans le répertoire par défaut de processing (../Documents/Processing/)
  • Lancer ces sketches dans Processing via le menu File/Sketchbook/votreRepertoire

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 Activités culturelles de l'Université de Genève

Le fil rouge de l'atelier

le 27 mars 2012, animé par Nicals Szilas et Pierre Dunand Filliol

  • Exemples d'utilisation de la kinect dans les arts électroniques et numériques
    • Emoshan, voir l'applet web publiée par Nicolas Szilas sous coaltar.ch;
    • Hélice sur l'utilisation fine de la reconnaissance du skelette, de Nicoals
    • Project Sound Design la kinect comme outil de transformation de composantes spectrales de documents sonores (Cécile Picard L., Pierre Dunand Filliol, Nicolas Szilas et d'autres du mapping festival 2011, Genève).
  • Mise en place de l'IDE sous Processing, revue des principales bibliothèques gérant la kinect de ce langage disponibles à ce jour
  • Initiation à la programmation des principales données accessibles au travers de Simple openNI:
    • 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.
  • Préparation de la séance du 3 avril

le 3 avril 2012

  • Projets à réaliser en cours de soirée, 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 le mouvement de la danse comme instrument de musique
    • plus tous les projets personnels (et réalisables) proposés par les stagiaires.

L'ensemble du code étudié au cours de l'atelier

... est disponible en ligne ici.

Ces sketches Processing, utilisés pour l'atelier, ont été pour la plupart empruntés à l'ouvrage Making Things See de Greg Borenstein adaptés et commentés par P. Dunand Filliol. Exception faite du sketch hélice rédigé par Nicolas Szilas.

Documentation

Processing et les bibliothèques gérant la kinect

sites, blogs, réseaux sociaux

ressources bibliographiques, articles, projets