Как «реализовать ввод TUIO в киви» - PullRequest
0 голосов
/ 31 марта 2019

Я занимаюсь разработкой приложения для распознавания жестов в kivy. У меня есть два отдельных приложения: одно приложение kivy touch tracer, а другое - мое приложение для распознавания жестов. Мое приложение для распознавания жестов предоставляет координаты x и y, и мне нужно отправить эти координаты в мое приложение kivy с помощью TUIO. Я прочитал о протоколе OSC и создан ниже код, он отправляет пакеты OSC правильно, но мое приложение KIVY не получает или обрабатывает его. Я хочу знать, есть ли какая-либо ошибка в моем синтаксисе пакета OSC, конфигурации Kivy, и почему это не работает. Пожалуйста, вы можете помочь

Приложение Geasture упрощено:

from oscpy.client import OSCClient
import pyautogui

osc = OSCClient('127.0.0.1', 3334)
while (True):
    (m1,m2)=pyautogui.position()
    s=pyautogui.size()
    m1=m1/s[0]
    m2=m2/s[1]
    osc.send_message(b'/tuio/Gest',(m1,m2))

Приложение KIVY

Класс событий движения TUIO:

class TuioGestMotionEvent(MotionEvent):
    def __init__(self, id, args):
        print ('here too')
        super(TuioGestMotionEvent, self).__init__(id, args)

    def depack(self, args):
        self.is_touch = True
        # In this method, implement 'unpacking' for the received
        # arguments. you basically translate from TUIO args to Kivy
        # MotionEvent variables. If all you receive are x and y
        # values, you can do it like this:
        if len(args) <= 5:
            print (args)
            self.sx, self.sy = args[0:2]

            self.profile = ('pos', )
        self.sy = 1 - self.sy
        super(TuioGestMotionEvent, self).depack(args)

Inside BUILD:

def build(self):
        Config.set('input', 'Gesture', 'tuio,127.0.0.1:3334')
        TuioMotionEventProvider.register(b'/tuio/Gest', TuioGestMotionEvent)
        return Touchtracer()

Я ожидаю, что первое приложение отправит пакет OSC в приложение KIVY и нарисует действие в приложении touchtracer kivy. Это мой первый вопрос, если любая ошибка в формате, пожалуйста, прости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...