2012-05-25 16 views
5

Zajmuję się programowaniem do przesuwania myszy w oparciu o pewne współrzędne, które otrzymuję z głębi obrazu z kinect. ale mam 30 klatek/sekundę (obrazy/sekundę) i te współrzędne zmieniają się z każdą ramką, więc mysz wciąż się porusza. Moje pytanie brzmi: czy istnieje sposób na wygładzenie ruchu myszy?wygładzanie ruchów myszy

+1

Czy możesz podać więcej informacji? Ile wynosi ruch drgający (duży/mały)? Jeśli jest mały - pomocne może być proste filtrowanie czasowe. Jeśli jest duży, prawdopodobnie wskazuje na problemy z danymi/algorytmem i nie można go wygładzić bez ponownego przemyślenia problemu. – Ani

+0

Jak powiedział @antanthonline - potrzebowalibyśmy dużo więcej kontekstu i bez wątpienia kilka przykładowych kodów. Brzmi interesująco - lubię takie problemy, trochę kodu. –

+0

Jitter jest mały, ale chcę go wygładzić, tak jak wtedy, gdy mysz powinna przechodzić z innej pozycji. Pokazuje pewną nieciągłość. Chcę go przenieść tak, jak robi to normalna mysz (wiem, że normalna mysz ma znacznie wyższą częstotliwość, ale czy jest jakikolwiek sposób na przesunięcie kursora w podobny sposób?) –

Odpowiedz

5

Tak, możesz rozpocząć śledzenie za pomocą parametrów, które pozwolą Ci uzyskać płynniejszy ruch.
Poniżej znajduje się przykładowy kod:

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

     this._sensor.SkeletonStream.Enable(parameters); 

można zmienić Smoothing, Correction, Prediction, JitterRadius i MaxDeviationRadius do dowolnych liczb chcesz.

+1

Fixus, to zadziała tylko wtedy, gdy OP śledzi szkielet - nie, jeśli bezpośrednio wykorzystuje obraz głębokości do obliczenia pozycji myszy. – Ani

+1

@ananthonline prawda, że. Powinienem to napisać. Ale połączenie obu strumieni nie jest trudne, więc pomyślałem, że to dobrze napisać :) – Fixus

+1

Dziękuję za odpowiedź, nie jestem tego pewien, ale czy istnieje sposób na mapowanie współrzędnych głębokości do punktu szkieletu i śledzenie tego jeden? jeśli tak, proszę podać mi przykładowy kod. Z góry dzięki –

Powiązane problemy