Touche is a tracking environment that has been written for Mac OS X Leopard and uses many of its core technologies, such as QuickTime, Core Animation, Core Image and the Accelerate framework.
In order to achieve good tracking performance Touche also uses high-quality open-source libraries such as OpenCV and libdc1394.
The Touche environment consists of two parts: a standalone tracking application written in Cocoa, that comes with lots of configuration options as well as calibration and test tools, and a Cocoa framework that can be embedded into custom applications in order to receive tracking data from the tracking application. This way, you can easily experiment with Mac OS X technologies such as Core Animation or Quartz Composer on your multitouch table.
Here are some key features of "Touche":
· Written from the ground up in Cocoa.
· Supports QuickTime-compatible cameras, FireWire cameras and Wii Remotes.
· Universal binary (though a somewhat recent G5 or Intel Mac is recommended).
· 64-bit support: Runs in native 64-bit mode on 64-bit Macs.
· Plenty of Core Image filters for good tracking results.
· Tracks bright blobs on dark background or dark blobs on bright background.
· Optionally tracks blobs based on a reference color.
· Uses the efficient OpenCV library for blob detection.
· Makes use of the Accelerate framework for optimal performance.
· Easy and efficient communication with the tracker via Cocoa Distributed Objects.
· Optional TUIO output.
· Optional TUIO output over Flash XML-Socket for direct use with Flash applications.
· Calibration and Test tool built right into the tracker.
· Lets you select which screen to use for multitouch applications.
· Support for "resolution independence" (which is good for rear projection screens).
· Open-source under the LGPLv3.
· You can customize the color of the status bar
Requirements:
· optical (FTIR, Lasers, DI) multitouch table
· QuickTime-compatible camera
· libdc1394-compatible FireWire camera
What's New in This Release: [ read full changelog ]
· Native support for TUIO/Flash XML-Socket tracking data.
· Frames can be thresholded based on distance from a reference color.
· A setting for the maximum motion displacement between two frames for which a blob should still be matched in two consecutive frames.
· Nicer tracking indicators in the blob tracking preview views.
· Plenty of minor bugfixes.
· Performance improvements.
· Updated help book.
· Framework: Clients can specify a minimum pixel motion threshold for "updated" touches.
· Framework: Clients can specify the thread they want the delegate to be called on.