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.
Build RecognitionService. Run RecognitionService.exe. Make sure it is launched in background mode.
Build RecognitionGUI. Run RecognitionGUI.exe.
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.
After that you can put the marker at any place of the multitouch surface and UI will show it.
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.
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.
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:
- 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.