Skip to content

Latest commit

 

History

History
44 lines (27 loc) · 2.52 KB

README.md

File metadata and controls

44 lines (27 loc) · 2.52 KB

Recognition middleware for TUI

This project used to recognize tangible markers (with three fingers) by touchpoints. RecognitinService determines markers position and rotation angle. RecognitionGUI is used to register tangible markers and show them on the display. We used pqlabs g5s frame and conventional display as a multitouch system, but you can use any other multitouch frame. Infrared frame detects touchpoints and sends it by TUIO protocol to our application.

general

Run

RecognitionService

Build RecognitionService. Run RecognitionService.exe. Make sure it is launched in background mode. run

RecognitionGUI

Build RecognitionGUI. Run RecognitionGUI.exe.

Registration

The app wouldn't recognize and show your marker until you register it. To register marker, put it into center field and chose id number.

registration_ui

After that you can put the marker at any place of the multitouch surface and UI will show it.

recognized_ui

The information about marker parameters saves in markers.json. Make sure that file config.localstorage exists and it’s not empty. If config.localstorage is empty, it’s necessary to register markers.

UI

After you registered all needed markers, you can connect any available vizualisation which sends and receives TUIO data (cursors/objects) to and from TUIO server/client apps, like this project.

Before it, check your TUIO sending and receiving ports.

platform_ui

example_ui

The algorithm

The algorithm works with sets of touchpoints and their parameters (position, id, type, etc.), coming from an infrared frame.

The main idea is to compare triangles formed by touchpoints from the frame with pre-known registered marker-triangles. Parameters which describe unique triangles:

triangle

  • The length of the three sides;
  • The triangle orientation (clockwise or counterclockwise).

Recognized triangles are followed by ID, so we take into account the case of loss of one or even two marker fingers.