« Kinect » : différence entre les versions

De Wikilipo
Aller à la navigation Aller à la recherche
Ligne 164 : Ligne 164 :
*sous vimeo sur 2'500 vidéos, [http://vimeo.com/liubo  Liubo Borissov (Pratt Institute NYC)], [http://vimeo.com/user3776411  Anouk Hoffmeister], etc.
*sous vimeo sur 2'500 vidéos, [http://vimeo.com/liubo  Liubo Borissov (Pratt Institute NYC)], [http://vimeo.com/user3776411  Anouk Hoffmeister], etc.


==ressources bibliographiques, articles, sites==
==ressources bibliographiques, articles, projets==
* Une [http://wiki.infolipo.net/images/Biblio-arts-num-1107.pdf bibliographie] sur les <em>arts numériques</em> en général et sur le <em>physical computing</em> et les nouveaux espaces du <em>DIY</em>;
* Une [http://wiki.infolipo.net/images/Biblio-arts-num-1107.pdf bibliographie] sur les <em>arts numériques</em> en général et sur le <em>physical computing</em> et les nouveaux espaces du <em>DIY</em>;
* mit media lab - tangible media group: [http://tangible.media.mit.edu/project.php?recid=157  the kinected conference project] (2011);
* mit media lab - tangible media group: [http://tangible.media.mit.edu/project.php?recid=157  the kinected conference project] (2011);
* un travail sur la perception du corps, <em>body dysmorphia</em>, à travers la kinect par Robert Hodgin; des pratique exemplaire des tangible media [http://eyemagazine.com/feature.php?id=194&fid=896  vues par eye magazine];
* un travail sur la perception du corps, <em>body dysmorphia</em>, à travers la kinect par Robert Hodgin; des pratique exemplaire des tangible media [http://eyemagazine.com/feature.php?id=194&fid=896  vues par eye magazine];
* le [http://www.blablablab.org/  blablaLAB] sculpte votre corps en 3d et en temps réel grâce à 3 kinects et à une [http://www.reprapcentral.com/vmchk.html  imprimante 3d opens source], [http://prix2011.aec.at/winner/3366/  honorary mention] de ars elctronica 2011
* le [http://www.blablablab.org/  blablaLAB] sculpte votre corps en 3d et en temps réel grâce à 3 kinects et à une [http://www.reprapcentral.com/vmchk.html  imprimante 3d opens source], [http://prix2011.aec.at/winner/3366/  honorary mention] de ars elctronica 2011

Version du 25 mars 2012 à 20:27

Installation de bibliothèques 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;
  • Palcer le répertoire résultant openkinect dans ../Documents/Processing/librairies

pour Mac OS, Linux, Windows (Simple OpenNI)

Quelques esquisses tirant parti des librairies openkinect (reprises par D.E. Stanley, HEAD, 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 ac de l'Université de Genève

Le fil rouge de l'atelier

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;
    • et autres exemples;
    • voir aussi le paragraphe documentaire ci-dessous).
  • 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:
    • 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 la danse comme instrument de musique
    • et tous les projets personnels (réalisables) proposés par les stagiaires.

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

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

Documentation

Processing et les bibliothèques gérant la kinect

sites, blogs, réseaux sociaux

ressources bibliographiques, articles, projets