Kinect
Using RGB Camera with Polling
[pullquote align="left"]Utilizando la cámara RGB de Kinect con el método de programación Polling[/pullquote]
En este artículo intentaremos explicar qué es el Polling, para que se usa y como nos puede ayudar a la hora de implementar aplicaciones que utilicen el controlador de juegos Kinect. Primero debemos contextualizar que el desarrollo de este ejercicio está pensado para un WFP en Visual Studio 2010/2012.
¿Qué es el Polling?
En programación el término Polling define una forma de programación que se utiliza para obtener un flujo de datos constantes de una fuente. Generalmente, y en particular en este caso, de un dispositivo hardware: Kinect.
Seguir leyendo »
Cámara RGB – ColorStream on!
Después del último post, donde enseñábamos a inicializar el sensor Kinect os explicaremos como acceder a la cámara RGB ampliando el último código facilitado.
Para ello empezaremos modificando el MainWindow.xaml introduciendo el objeto donde se mostrará la salida de la cámara. El código sería el siguiente:
[sourcecode language="xml"]
<Grid>
//el nombre puede ser el que queráis y el tamaño también.
<Image Name="CamaraRGB" Height="350" Width="525"></Image>
</Grid>
[/sourcecode]
Una vez preparado el XAML hay que programar el código para obtener los datos de la cámara RGB. Crearemos una función a la que hemos llamado ColorFrameReady. El código sería el siguiente:
[sourcecode language="csharp"]
private void ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
using (ColorImageFrame frame = e.OpenColorImageFrame())
{
if (frame != null)
{
byte[] pixelData = new byte [ frame.PixelDataLength ];
frame.CopyPixelDataTo(pixelData);
//en el pixeldata está la info de la camara.
Seguir leyendo »
Initialize KinectSensor – Inicializando el sensor Kinect.
La semana pasada explicamos cómo iniciar un proyecto en Visual Studio para poder empezar a programar para Kinect. En el siguiente post empezaremos a trabajar con el sensor y os enseñaremos que funciones son necesarias para la inicialización de Kinect.
La inicialización del sensor es un proceso que no se puede realizar hasta que se obtiene el valor de sensor conectado. Para hacer esta comprobación utilizaremos una propiedad llamada Kinect. Por otro lado, monitorizaremos el estado del sensor (conectado, desconectado) con un método llamado KinectSensors_StatusChanged. Veamos el código:
[sourcecode language="csharp"]
#region propiedades
private KinectSensor _Kinect;
public KinectSensor Kinect
{
get { return this._Kinect; }
set
{
if (this._Kinect != value)
{
if (this._Kinect != null)
{
//Aqui UNinicializamos el senor.
Seguir leyendo »
Kinect Xbox and Kinect for Windows – Data Streams
Uno de los primeros post que realizamos fue una comparativa entre el dispositivo Kinect que viene con la consola Xbox 360 y el último modelo del dispositivo llamado Kinect for Windows.
En ese post mostrábamos una tabla donde veíamos:
Data Streams (Flujo de datos)
Kinect for XBOX 360 | Kinect for Windows |
---|---|
640 × 480 32-bit de color @30fps | 640 × 480 32-bit de color @30fps 1280 x 960 RGB @ 12fps Raw YUV 640 x 480 @ 15fps |
Hoy hemos podido comprobar que el flujo de datos a resolución “1280 x 960 RGB @ 12fps” con Kinect for Xbox 360 no obtenemos un video fluido con el que poder trabajar.
Seguir leyendo »
Starting with Kinect – Creando un proyecto.
Desde Kinect for Developers queremos acercar Kinect a los desarrolladores y para ello queremos ir realizando periódicamente pequeños post donde iremos explicando poco a poco como acceder al sensor y utilizar los datos que recoge para dejar volar nuestra imaginación y llegar a desarrollar todo tipo de aplicaciones y juegos.
Antes de empezar debemos tener instalado en nuestro ordenador el Kit de desarrollo para Kinect (SDK) y el entorno de desarrollo Microsoft Visual Studio (nosotros utilizamos la versión 2010 aunque la versión 2012 también es compatible).
Una vez preparados ya podemos empezar. El primer post que os traemos tratará de cómo crear un proyecto en Visual Studio 2010 para programar para Kinect
Empezaremos arrancando Visual Studio 2010 y configurándolo para el lenguaje C# (lenguaje en el que programaremos durante todos los post-tutoriales).
Seguir leyendo »