Я занимаюсь разработкой приложения для распознавания жестов в 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. Это мой первый вопрос, если любая ошибка в формате, пожалуйста, прости