Desarrollo de interfaces humanas con Xbox Kinect y Visual Studio 2010

Preview:

DESCRIPTION

Descubre las particularidades del desarrollo de software para Kinect; el accesorio que promete revolucionar el futuro de los videojuegos y ser el próximo éxito con los usuarios y desarrolladores. Ponente: Edgar Sanchez

Citation preview

Interfaces de usuario naturales con Kinect, C# y Visual Studio 2010

Edgar SánchezLogic Studio

Introducción Diseñada para darte el empujón inicial Se asume que tienes alguna experiencia

en programación API administrada – Los conceptos

funcionan en VB/C# (y también en F# ;-)

Agenda Instalación y uso del sensor Kinect Preparación del ambiente de desarrollo Fundamentos de la cámara Trabajando con datos de profundidad Fundamentos de seguimiento de

esqueletos Fundamentos de audio

Instalación y uso del sensor Kinect

Cámara RGB

Micrófono multi-arreglo Inclinación motorizada

Sensores de profundidad 3D

Cable USB de Kinect

Descargar ahora http://research.microsoft.com/kinectsdk/

Demos

Preparación del ambiente de desarrollo

Agenda Instalación y uso del sensor Kinect Preparación del ambiente de

desarrollo Fundamentos de la cámara Trabajando con datos de profundidad Fundamentos de seguimiento de

esqueletos Fundamentos de audio

Demos

Fundamentos de la cámara

Instalación y uso del sensor Kinect Preparación del ambiente de desarrollo Fundamentos de la cámara Trabajando con datos de profundidad Fundamentos de seguimiento de esqueletos Fundamentos de audio

Agenda

Datos de la cámara

Zancada (stride)

Zancada - # de bytes de una fila de pixels en memoria a la siguiente

Demos

Trabajando con datos de profundidad

Instalación y uso del sensor Kinect Preparación del ambiente de desarrollo Fundamentos de la cámara Trabajando con datos de profundidad Fundamentos de seguimiento de esqueletos Fundamentos de audio

Agenda

Camera Data

Buffer de bytes de profundidad

ImageFrame.Image.Bits Arreglo de bytes public byte[] Bits; Arreglo– Empieza arriba/izquierda de la imagen– Se mueve de izquierda a derecha, y de arriba a

abajo– Representa la distancia para cada pixel

Calculo de la distancia 2 bytes por pixel (16 bits) Profundidad – Distancia por pixel– Bitshift second byte by 8– Distance (0,0) = (int)(Bits[0] | Bits[1] << 8);

Índice DepthAndPlayer – Incluye el índice del jugador– Desplaz. de bits 3 primer byte (índice de

jugador), 5 segundo byte– Distancia (0,0) =(int)(Bits[0] >> 3 | Bits[1] << 5);

Referencia de profundidad Rango de distancia: 850 mm a 4000

mm Profundidad de 0 significa desconocido– Sombras, baja/alta reflectividad entre

otras razones Índice de jugador– 0 – Sin jugador– 1 – Esqueleto 0– 2 – Esqueleto 1

Demos

Fundamentos de seguimiento de esqueletos

Instalación y uso del sensor Kinect Preparación del ambiente de desarrollo Fundamentos de la cámara Trabajando con datos de profundidad Fundamentos de seguimiento de esqueletos Fundamentos de audio

Agenda

API de esqueletos

Datos de esqueletos

Junturas Máximo dos jugadores detectados a la vez

– Propuestas para seis jugadores Cada jugador con un conjunto de junturas <x, y, z> en

metros Cada juntura tiene un estado asociado

– Tracked, Not tracked, o Inferred Inferred – Junturas ocultas, recortadas o de baja confianza Not Tracked – Inusual, pero el código debe controlar este

estado

Demos

Recommended