Skip to content
Reference implementation of the Visual Tracking eXchange protocol.
C C++ CMake Matlab
Find file
Latest commit 562ad0d @lukacu lukacu Optimizing region overlap calculation. Skipping rasterization when bo…
…unding boxes do not overlap.
Failed to load latest commit information.
matlab Enabling error reporting in mex file again.
.gitignore Fixing cross-compile issues on Windows.
CMakeLists.txt Removing mwrapper, updating instructions and compile script.

About the TraX protocol

What is TraX protocol?

Visual Tracking eXchange protocol is a simple protocol that enables easier evaluation of computer vision tracking algorithms. The basic idea is that a tracker communicates with the evaluation software using a set of text commands over the (standard) input/output streams.

Reference C server and client implementation

libtrax is a reference C implementation for the Tracking eXchange protocol that enables researchers to quickly add support for the protocol in their C or C++ tracker (servers) as well as client tools. Examples of integration in a tracker are provided in the trackers directory. A simple static tracker is available that explains the basic concept of the integration without too much logic. A more complex example is available in the form of the OpenCV implementation of the CamShift tracker.

Matlab server implementation

It is technically not possible to have a Matlab-only implementation of TraX protocol on all platforms because of the way Matlab handles terminal input and output. Therefore, Matlab TraX implementation is available as a MEX function that links the C library. It is available in the matlab directory. In case of using Matlab on Windows, the only way to use TraX is to use TCP/IP sockets, which means that both the client and server have to explicitly enable this (see help of traxclient for more details).


trax is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

trax is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with trax. If not, see

Something went wrong with that request. Please try again.