Как заставить движущиеся обнаруженные руки и кончики пальцев взаимодействовать с Qt GUI, как с мышью? - PullRequest
3 голосов
/ 15 марта 2012

Я делаю это приложение, управляемое кончиками пальцев (OpenCV 2.3.2 + Qt 4.7, разрабатываемое в Visual Studio 2010), в котором я хотел бы использовать графический интерфейс Qt, особенно его диалоги.Положение кончика пальца будет обнаружено и отслежено с помощью VideoCapture.Представьте, что Microsoft Windows Paint используется одним кончиком пальца.Я размышлял о следующих параметрах:

  • создание подклассов QEvent и установка eventFilter на виджет для фильтрации ненужных событий
  • создание подклассов QCursor, если события мыши зависят от позиций курсора
  • создание моей собственной палитры цветов и других диалогов ввода, которые не подклассируют ни один из специализированных диалогов Qt, что я, вероятно, в конечном итоге и сделаю, если ничего из вышеперечисленного не осуществимо.Я изучил исходный код QColorDialog и обнаружил QColorWell и QColorLuminancePicker и сейчас думаю о наименее утомительном способе получения похожих виджетов.

Что может быть наиболее практичным и наименее вычислительным способом сделать это?Извините, если мой английский не был ясным или запутанным.Заранее спасибо.

1 Ответ

2 голосов
/ 15 марта 2012

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

...