Está en la página 1de 13

P R IM ER O S PA S O S C O N

K IN EC T
edogaru.net

Edgar Talamantes Ortega


edogaru.net

Q u es kinect?
Es un dispositivo que combina:
una cmara de profundidad
una cmara de video VGA
un conjunto de micrfonos de alta

calidad.

Estas caractersticas lo hacen tan

flexible a la hora de crear


aplicaciones.

Edgar Talamantes Ortega edogaru.net

Q u es lo que ve elkinect?
El kinect proyecta una grilla de

puntos infrarrojos invisibles al ojo


humano, pero detectables por su
sensor. Pudiendo medir la distancia
en milmetros de cada punto al
sensor.

Ver video en youtube


Edgar Talamantes Ortega edogaru.net

Cm o detecta los
m ovim ientos hum anos?
El kinect no detecta el esqueleto

humano por si solo. Sino que la


computadora lo hace mediante un
algoritmo que reconoce las partes
del cuerpo humano.
Se puede ver una descripcin del
algoritmo en ste articulo en:
http://research.microsoft.com/apps/pubs/?id=145347

Edgar Talamantes Ortega edogaru.net

H acer program as con kinect?


Para poder usar el kinect en nuestra

computadora obviamente
necesitamos los drivers necesarios.
Actualmente existen dos principales
opciones: OpenNI (Open source) y
Kinect SDK (Oficial)
El ms sencillo de instalar y
configurar es el Kinect SDK, que es
con el que vamos a continuar aqu.
Edgar Talamantes Ortega edogaru.net

H acer program as con kinect?


El Kinect SDK permite programar

aplicaciones para C#, C++ y F#.


Para empezar necesitamos descargar el
Kinect SDK (Beta 2, actualmente)
Descargar (solo para Windows 7)

Se ejecuta el instalador con el Kinect

desconectado, cuando termin se conecta el


Kinect y automticamente lo reconocer.
Para probar puedes ejecutar:
Sample Skeletal Viewer
Sample Shape Game
Edgar Talamantes Ortega edogaru.net

H acer program as con kinect?


Antes de comenzar a programar

recomiendo dar una leda a la gua


de programacin del Kinect SDK,
donde se aclaran muchas dudas y
conceptos.
Descargar gua de programacin

Lamentablemente solo est

disponible en ingles, espero que eso


no sea un problema =P
Edgar Talamantes Ortega edogaru.net

Confi
gurar un proyecto
Utilizando Visual C# vamos a crear

un proyecto que despliegue nuestra


imagen desde la cmara de
profundidad. Para simplificar las
cosas usaremos el toolkit provisto
por Coding4Fun
Descargar Coding4Fun Kinect toolkit

Edgar Talamantes Ortega edogaru.net

Confi
gurar un proyecto
Pasos:
1. Crear un nuevo proyecto de

windows form en C#
2. Agregamos las referencias
1. Microsoft.Research.Kinect (agregar

desde la pestaa Net)


2. Coding4Fun.Kinect (que
descomprimimos en alguna carpeta)

Edgar Talamantes Ortega edogaru.net

Confi
gurar un proyecto
3. Agregar las sentencias using
using M icrosoft.Research.Kinect.N ui;
using Coding4Fun.Kinect.W inForm ;

4. Declarar una variable Runtime como

parte de la clase Form1


Runtim e kinect;

La clase Runtime es la que nos


permite interactuar con el kinect,
contiene todos los metodos y
propiedades necesarios.
Edgar Talamantes Ortega edogaru.net

10

Confi
gurar un proyecto
5.Debemos inicializar el Runtime en la

funcin Load_Form (o en un botn si


as lo deseamos)
//Instanciam os nuestro runtim e
kinect = new Runtim e();
//Inicializam os elruntim e usando la cm ara de profundidad
kinect.Initialize(Runtim eO ptions.U seD epthAndPlayerIndex);
//Abrim os elcanalde depthstream
kinect.D epthStream .O pen(Im ageStream Type.D epth, 2,
Im ageResolution.Resolution320x240, Im ageType.D epthAndPlayerIndex);
//Asignam os un adm inistrador de eventos para capturar los nuevos datos
kinect.D epthFram eReady + = new
EventH andler< Im ageFram eReadyEventArgs> (kinect_D epthFram eReady);
Edgar Talamantes Ortega edogaru.net

11

Confi
gurar un proyecto
6. Por ltimo, debemos establecer que va a

hacer nuestro administrador de eventos


para el depthstream
void kinect_D epthFram eReady(O bject sender,
Im ageFram eReadyEventArgs e)
{
pictureBox1.Im age = e.Im ageFram e.ToBitm ap();
}

En nuestro caso, lo nico que va a hacer es


mostrar la imagen de profundidad en un
picturebox
Nota: El mtodo ImageFrame.ToBitmap() es una extensin
proporcionado por el Coding4Fun Kinect toolkit.
Edgar Talamantes Ortega edogaru.net

12

Confi
gurar un proyecto
Con esto tenemos el siguiente resultado. Se que
no es muy impresionante, pero me parece una
buena forma de empezar.
El cdigo fuente
est disponible
en edgaru.net

Edgar Talamantes Ortega edogaru.net

13

También podría gustarte