Member 13014278 Ответов: 2

Стабилизировать указатель мыши на экране kinect?


Привет Я хочу стабилизировать указатель мыши, когда использую kinect. Я сделал набор курсора, используя плавность и чувствительность, но курсор прыгает в основном по краям экрана. Кто-нибудь может мне помочь?

Код, который у меня есть для установки курсора, таков:

// set cursor position
MouseControl.SetCursorPos(
// X coordinate
(int)(curPos.X + (x * mouseSensitivity * screenWidth - curPos.X) * smoothing),
// Y coordinate
(int)(curPos.Y + ((y + 0.25f) * mouseSensitivity * screenHeight - curPos.Y) * smoothing)
);


Что я уже пробовал:

добавьте thread. sleep (), но это не сработало.

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Зачем переводить нить в спящий режим "сглаживать" указатель мыши? Все это делает ваше приложение полностью невосприимчивым.

Вы "сглаживаете", если это то, что вы хотите назвать этим кодом, положение указателя мыши не является правильным способом сделать это.

То, что вы должны делать, называется "цифровой обработкой сигналов". Вы должны "сглаживать" свой входной сигнал, положение руки пользователя (я предполагаю, что вы используете) и делать это с течением времени, скажем, последние 5-10 позиционных кадров, которые вы захватили.

Есть много примеров в интернете. Все, что вам нужно сделать, это поискать в Google "Kinect использует руку в качестве курсора мыши[^]".


Рейтинг:
1

Member 13014278

Спасибо, Дэйв.
Я уже искал, но не нашел ничего, что могло бы мне помочь. Вы не могли бы мне помочь?


Richard Deeming

Если вы хотите ответить на решение, нажмите кнопку "есть вопрос или комментарий?" кнопка под раствором.

НЕ опубликуйте свой ответ как новое "решение".