Kinect
Aller à la navigation
Aller à la recherche
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)
- Aller sur le site de Simple openNI.
- Suivre les indications selon les systèmes d'exploitation.
Quelques exemples 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éfuat de processint (../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:
- capte et renvoie l'image formée par la Kinect
- 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 librairies gérant la kinect
- Processing.org
- Page de documentation de Daniel Shiffman
- Simple OpeneNI [1] et la documentation (lacunaire) sur ses fonctionnalités
sites, blogs, réseaux sociaux
- la page sur "from hal to kinect" du site de Douglas E. Stanley: abstractmachine.net;
- sous twitter, kinect hacks et le site de kinecthacks.net;
- sous vimeo sur 2'500 vidéos, Liubo Borissov (Pratt Institute NYC), Anouk Hoffmeister, etc.
ressources bibliographiques, articles, sites
- Une bibliographie sur les arts numériques en général et sur le physical computing et les nouveaux espaces du DIY;
- mit media lab - tangible media group: the kinected conference project (2011);
- un travail sur la perception du corps, body dysmorphia, à travers la kinect par Robert Hodgin; des pratique exemplaire des tangible media vues par eye magazine;
- le blablaLAB sculpte votre corps en 3d et en temps réel grâce à 3 kinects et à une imprimante 3d opens source, honorary mention de ars elctronica 2011