2012-05-25 25 views
5

Estoy desarrollando un software para mover el mouse en función de ciertas coordenadas que obtengo de una imagen de profundidad de kinect. pero tengo 30 fotogramas/segundo (imágenes/segundo) y esas coordenadas cambian con cada cuadro para que el mouse siga moviéndose. Mi pregunta es, ¿hay alguna forma de suavizar el movimiento del mouse?alisar el movimiento del mouse

+1

¿Podría proporcionar más información? ¿Cuánto es el movimiento nervioso (grande/pequeño)? Si es pequeño, algún tipo de filtrado temporal simple puede ayudar. Si es grande, probablemente apunta a problemas con sus datos/algoritmo y no se puede suavizar sin volver a pensar el problema. – Ani

+0

Como dijo @ananthonline, necesitaríamos MUCHO más contexto y, sin lugar a dudas, un código de muestra. Aunque suena interesante: me gustan los problemas como este, obtener un código. –

+0

El jitter es pequeño pero lo que quiero es suavizar el movimiento, como cuando el mouse debe ir de una posición a otra. Muestra cierta discontinuidad. Quiero una forma de moverlo como lo hace el mouse normal (sé que el mouse normal tiene una frecuencia mucho más alta pero ¿hay alguna manera de mover el cursor de manera similar?) –

Respuesta

5

Sí, puede iniciar el seguimiento con algunos parámetros que le permiten realizar movimientos más suaves.
A continuación se muestra un código de ejemplo:

 var parameters = new TransformSmoothParameters 
     { 
      Smoothing = 0.2f, 
      Correction = 0.0f, 
      Prediction = 0.0f, 
      JitterRadius = 1.0f, 
      MaxDeviationRadius = 0.5f 
     }; 

     this._sensor.SkeletonStream.Enable(parameters); 

Puede cambiar Smoothing, Correction, Prediction, JitterRadius y MaxDeviationRadius a cualquier número que desee.

+1

Fixus, esto solo funcionará si el OP está rastreando el esqueleto - no si está usando directamente la imagen de profundidad para calcular la posición del mouse. – Ani

+1

@ananthonline cierto eso. Debería escribir eso. Pero combinar ambas transmisiones no es difícil, así que pensé que era bueno escribir :) – Fixus

+1

Gracias por la respuesta, no estoy seguro de esto, pero ¿hay alguna manera de mapear las coordenadas de profundidad en un punto esqueleto y rastrear eso? uno ? en caso afirmativo, proporcione un código de muestra. Gracias de antemano –

Cuestiones relacionadas