Giter Site home page Giter Site logo

trax's Introduction

Visual Tracking eXchange protocol

Documentation Status PyPI package version

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 or TCP sockets.

Reference server and client implementation

libtrax is a reference implementation of the Tracking eXchange protocol written in plain C. It enables researchers to quickly add support for the protocol in their C or C++ tracker (servers) as well as write new clients (evaluation, various tools).

Integration examples are provided in the support/tests directory. A simple static tracker is available that explains the basic concept of the integration without too much tracker-specific details.

Other languages

C++

C library also comes with a C++ wrapper that provides easier interaction in C++ code by exposing object-oriented API and automatic memory handling via reference counting.

Matlab/Octave

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 support/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).

Python

There is a Python wrapper to C library (using CTypes) available in the support/python directory. You can install a Python package using pip: pip install vot-trax.

Support utilities

The repositoy also contains utilities that make ceratin frequent tasks easier:

  • Client library: a C++ library for writing client software, managing tracker process, also provides a CLI client executable.
  • OpenCV utilities: conversions between TraX library structures and OpenCV objects.

Documentation

Documentation for the protocol and libraries is available on ReadTheDocs.

Citing

If you are using TraX protocol in your research, please cite the following publication that describes the protocol and the library.

@article{cehovin2017trax,
    author = {{\v{C}}ehovin, Luka},
    doi = {http://dx.doi.org/10.1016/j.neucom.2017.02.036},
    issn = {0925-2312},
    journal = {Neurocomputing},
    title = {{TraX: The visual Tracking eXchange Protocol and Library}},
    year = {2017}
}

License

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 http://www.gnu.org/licenses/.

trax's People

Contributors

alanlukezic avatar cybertk avatar g-chauvel avatar lukacu avatar novotl22 avatar petititi avatar raghavana-movidius avatar rokm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trax's Issues

Overlap calculation error

(Submitted by Christian Bailer from DFKI)

Possibly, there is an error in the function "region_compute_overlap" in the VOT framework. It affects shift on the y axis.
I am using this version: https://github.com/votchallenge/trax/blob/master/lib/region.c

If I calculate the overlap of 2 bounding boxes of the size 10x10 a shift of 1 on the x axes works correctly (There are 9 units overlap and 2 units outside the overlap i.e. the expected overlap is 9/(9+2) = 0.818182):

region_container a,b;
a.type = b.type = RECTANGLE;
a.data.rectangle.x=1;
a.data.rectangle.y=0;
a.data.rectangle.width=10;
a.data.rectangle.height=10;
b.data.rectangle.x=0;
b.data.rectangle.y=0;
b.data.rectangle.width=10;
b.data.rectangle.height=10;
cout << region_compute_overlap(&a, &b).overlap << endl;

Result: 0.818182 (Expected: 0.818182)

However, a shift of 1 on the y axis leads to a different wrong result:

region_container a,b;
a.type = b.type = RECTANGLE;
a.data.rectangle.x=0;
a.data.rectangle.y=1;
a.data.rectangle.width=10;
a.data.rectangle.height=10;
b.data.rectangle.x=0;
b.data.rectangle.y=0;
b.data.rectangle.width=10;
b.data.rectangle.height=10;
cout << region_compute_overlap(&a, &b).overlap << endl;

Result: 0.9 (Expected: 0.818182)

Why Trax client is the socket server?

In current trax implementation, trax_client is socket server, listening on specified TCP port, while trax_server connecting to the trax_client.

From the meaning of C/S, trax_server should be the one listening on a socket, why the truth is not?

Python support

Python support can be implemented using native Python code or by wrapping the the C library.

need help! AttributeError: module 'trax.server' has no attribute 'ServerOptions'

Traceback (most recent call last):
File "", line 1, in
File "/home/kuiran/github/pytracking/pytracking/run_vot.py", line 19, in run_vot
tracker.run_vot()
File "/home/kuiran/github/pytracking/pytracking/../pytracking/evaluation/tracker.py", line 621, in run_vot
handle = vot.VOT("polygon")
File "/home/kuiran/github/pytracking/pytracking/../pytracking/evaluation/vot.py", line 92, in init
options = trax.server.ServerOptions(region_format, trax.image.PATH)
AttributeError: module 'trax.server' has no attribute 'ServerOptions'
Exception ignored in: <function VOT.del at 0x7fb0daca39e0>
Traceback (most recent call last):
File "/home/kuiran/github/pytracking/pytracking/../pytracking/evaluation/vot.py", line 173, in del
self.quit()
File "/home/kuiran/github/pytracking/pytracking/../pytracking/evaluation/vot.py", line 165, in quit
self._trax.quit()
AttributeError: 'VOT' object has no attribute '_trax'

how to fix it.

How can i complie opencv module

If you want to build optional OpenCV support, you will have to install OpenCV library (together with development header files). Depending on your OpenCV installation location you may have to tell the CMake where to find the library.

how can i install opencv library?Thank you.

Rust Support

Moving here because I accidentally posted to votchallenge/toolkit#67 .

Original Description:

Some background: I was looking for a benchmark dataset for evaluating a rust-based implementation of the MOSSE tracker. I found the OTB-2015 dataset, which was really hard to use, and then I found the VOT datasets, which are really easy to use 😃.

I threw together a simple implementation of the trax protocol, and used it to evaluate the tracker's performance. My implementation only supports RGB images with square target regions, and doesn't support filenames with spaces in, etc. but it was good enough to run against the 2020 dataset, to get us started.

The code for the protocol bit currently lives here: https://github.com/jjhbw/mosse-tracker/pull/6/files#diff-760f763636fdf5a7b407ee67396404031d573d2e203d67025b17a939173b7870 and there is an example usage in main.rs. It's currently "demo quality" code.

Do you think that it would be worth me cleaning up the code and publishing it for others to use?

If so, should I do it as a PR against this repo, or host it under the https://github.com/rust-cv namespace?

If you would prefer to keep all implementations uniform (binding into the C library) then that's also fine. If that is the case, I'll leave my code where it is until someone does the rust trax implementation properly, and then port the mosse-tracker benchmark code across.

Response from @lukacu :

Hi, thank you for your work, this is really exciting. It would be better to move this discussion to trax project issue tracker. PRs should also be made towards that repo and not the toolkit.

The protocol is pretty stable and no immediate updates are planned (although extension to multiple targets may be interesting in the future). So a pure implementation would be ok, that is the point of a protocol anyway. But from maintenance standpoint I would prefer C bindings, I do not know Rust well enough to maintain a separate implementation. Is C-Rust integration difficult?

I will admit that I've never tried. In theory I'd expect it to be a bit harder than C++, and a bit easier than Python? I'm not really sure.

If you wanted to wrap this library in Rust, you'd probably also want to wrap the cmake build system, so that user of your library can just cargo add trax-sys or whatever, and have it fetch/build the C source code for you. Bundling up the C source code, and driving CMake from Rust's "build.rs" doesn't sound too tricky though.

Whenever you cross a language barrier, you will always get an impedance mismatch that makes things like error handling and debugging a bit uglier. I expect you will have noticed that when writing the python client.

It's worth noting that my implementation of the protocol is very half-arsed. I'm not sure how easy it would be to make a half-arsed wrapper around a C library. I guess you could just wrap the types and functions that you care about first, and it would come out to the same amount of work for a PoC?

The other question that's worth asking is "do people care about Rust enough or is it just going to be a maintenance burden with no users?". The rust computer vision ecosystem is very immature at the moment. In terms of object tracking, there is a MOSSE implementation (which is currently less capable than the dlib one), and you could probably cobble something together using AKAZE features. There isn't really anything state-of-the-art. If your benchmark suddenly had first class support for Rust, would people suddenly start trying to build trackers in Rust? I suspect that the answer is "no".

Maybe the best thing would be to leave this issue open for a year and see if it draws any interest. If not, we can close it.

TraX support not found. Please add trax module to Python path.

Hi, I'm trying to configure vot-toolkit, but always have this problem. I try some tips,but make no difference, I try to give up matlab version and configure python version. These two ways have the same problem.
This is python version log.

Traceback (most recent call last):
File "", line 1, in
File "/home/cs512/jixie/vot-toolkit-master/tracker/examples/python/python_ncc.py", line 3, in
import vot
File "/home/cs512/jixie/vot-toolkit-master/tracker/examples/python/vot.py", line 19, in
raise Exception('TraX support not found. Please add trax module to Python path.')
Exception: TraX support not found. Please add trax module to Python path.

What should I do ? thanks.

TraX Image Formats: memory and data are inefficiency

In the current version(v1.2) of TraX protocol, both memory and data image format are base64 encoded, it's not very efficiency as

  1. Size of encoded text increased 1/3
  2. Require extra encoding/decoding cost

Considering the purpose of TraX is not only serving tracker evaluations, it's necessary to improve the protocol performance. Even for tracker evaluations, interference of image I/O can be removed by using memory/data image format.

Draft proposals,

  1. Convert from current text based protocol to binary protocol, like Protocol Buffers
  2. Adapting a HTTP Multipart(defined in RFC 1341) like solution, key is involving a boundary to protect the raw binary data between texts.

trax server failed to restart?

Hi,

I tried "run_experiments.m" several times, but it always stopped at the same location. Here is the log files.
20170626T144410.log.txt
20170626T145820.log.txt

It looks like the server failed to restart when last session is over. Is there any way I can fix it? Thank you very much.

P.S. I am using Windows 10 + VS 2015 + trax-1.2.0-windows64_vs14.zip

Unable to compile MEX function: "trax.c

Hello!Thank you for your toolkit. I now face a problem that when I make the workapsce, it shows"ERROR: Unable to compile MEX function: "trax.c" and a series of warnings and errors.But the file in trax is downloaded from the official link:https://github.com/votchallenge/trax. The matlab is R2015a Building with 'Microsoft Visual C++ 2010'.Waiting for your replay.Thanks!
image

Passed in MATLAB tracker but failed in PYTHON tracker

Hello, I test this toolkit with tutorial in http://www.votchallenge.net/howto/workspace.html

I successfully integrated tracker written in MATLAB,
tracker_label = [];
tracker_command = generate_matlab_command('ncc', {'/home/astonc/vot-toolkit-master/tracker/examples/matlab'});

tracker_interpreter = 'matlab';

after that, I tested integrating tracker written in python and failed.

tracker_label = [];
tracker_command = generate_python_command('python_ncc', {'/home/astonc/vot-toolkit-master/tracker/examples/python'});
tracker_interpreter = 'python';

Error log :

run_experiments
Initializing workspace ...
Verifying native components ...
Testing TraX protocol support for tracker ncc.
Tracker execution interrupted: Unable to start the tracker process
TraX support not detected.
Error using tracker_load (line 127)
Tracker has not passed the TraX support test.
Error in run_experiments (line 8)
tracker = tracker_load('ncc');

@lukacu,Could you help? Thank you so much!

trax error

Traceback (most recent call last):
File "", line 1, in
File "vot.py", line 17, in
import trax
File "/home/wublack/vot-toolkit/native/trax/support/python/trax/init.py", line 2, in
from .wrapper import PropertiesWrapper
File "/home/wublack/vot-toolkit/native/trax/support/python/trax/wrapper.py", line 4, in
from .internal import trax_image_release, trax_region_release, trax_cleanup, trax_properties_release
File "/home/wublack/vot-toolkit/native/trax/support/python/trax/internal.py", line 386, in
trax_image_list_create = _libraries['trax'].trax_image_list_create
File "/home/wublack/anaconda2/lib/python2.7/ctypes/init.py", line 379, in getattr
func = self.getitem(name)
File "/home/wublack/anaconda2/lib/python2.7/ctypes/init.py", line 384, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libtrax.so: undefined symbol: trax_image_list_create

MEX cannot find library 'ut'

The error comes from these sentence :
arguments{end+1} = '-lut'; ( compile_trax>build_mex (line 51))
I can not figure out where is the 'ut.lib', please help!

trax_server_wait

Hello, there is a problem with trax.

When I run my program , it shows no results and no errors. You can only force interrupts, and this is the message after the interrupt.

Traceback (most recent call last):
File "/home/elisa/vrpt/tools/test.py", line 293, in
handle = vot.VOT("mask")
File "/home/elisa/vrpt/tools/vot.py", line 50, in init
request = self._trax.wait()
File "/home/elisa/anaconda3/envs/vrpt/lib/python3.7/site-packages/trax/server.py", line 94, in wait
status = TraxStatus.decode(trax_server_wait(self._handle.reference, byref(timage), byref(tregion), tproperties))
KeyboardInterrupt

When I step through pyCharm, I run to this line
Status = traxstatus. decode(trax_server_wait(self._handle.reference, byref(Timage), Byref (Tregion), tProperties))

Variables shows 'Connected' and does not respond.

QQ截图20210824162808

What is the reason for this?

vot.tracker.TrackerException: Server terminated the session

Hello every body,
I want to test Atom tracker with votlt2020 dataset, but when I want evaluate it, I faced with this error:

"File "/home/user/pytracking_env/lib/python3.6/site-packages/vot/tracker/trax.py", line 409, in _error
    tracker_log=log if not self._output is None else None)
vot.tracker.TrackerException: Server terminated the session"

how can I resolve it?

Trax Image Formats: Shared Memory

Regarding to #29. I'm considering implement a shared memory solution based on POSIX <sys/shm.h>. The changes of code should be

  1. Add a new type TRAX_IMAGE_SHM with protocol text shm

  2. In libtrax, add a new shared memory container trax_shm_region, it's struct should be

     struct trax_shm_region {
         char* shm_id;
         void* ptr;
     }
    
  3. trax_shm_region will attach to Image.data for TRAX_IMAGE_SHM type.

  4. For Python binding, will add a new class ShmImage in image.py

The communication flow should be

  1. TraxClient requests a shared_memory_region identified by shm_id through shm_open() and mmap()
  2. TraxClient fills the image into shared_memory_region , and send trax text shm://trax-NNNN;width;height;format
  3. TraxServer receives trax text and parses the shm_id
  4. TraxServer attaches to the shared_memory_region identified by shm_id

Other notes

  1. Shared memory should works in POSIX system only, Linux and macOS should be supported.

Matlab client mex

In addition to traxserver create traxclient mex that runs a tracker. The traxclient should support custom evaluation callback that allows customization.

C wrapper for Python

Python implementation should use C low level code so that we only have one implementation of message parsing code.

ERROR: Could not build wheels for vot-trax


Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting vot-trax==4.0.1
Using cached http://mirrors.aliyun.com/pypi/packages/71/bf/c1dbff143fbb2537427bb87798ded81b3bd0c8be4a46882f904dbc0ce4f6/vot-trax-4.0.1.tar.gz (62 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.16 in d:\programdata\anaconda3\envs\seqtrack\lib\site-packages (from vot-trax==4.0.1) (1.24.3)
Requirement already satisfied: six in d:\programdata\anaconda3\envs\seqtrack\lib\site-packages (from vot-trax==4.0.1) (1.16.0)
Building wheels for collected packages: vot-trax
Building wheel for vot-trax (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for vot-trax
Running setup.py clean for vot-trax
Failed to build vot-trax
ERROR: Could not build wheels for vot-trax, which is required to install pyproject.toml-based projects


Please! How to solve this? Not even after the pyproject is installed.

OSError: dlopen(libtrax.dynlib, 6): image not found

I use Mac OS 10.15, matlab 2016b, and can pass the MATLAB test. But when I use Python's tracker to test, I find this problem. I can't find a solution on Google. How can I solve this problem ?

Error using tracker_load (line 127)
Tracker has not passed the TraX support test.

Error in run_test (line 8)
tracker = tracker_load('ncc');

File "/opt/anaconda3/envs/suzy/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: dlopen(libtrax.dynlib, 6): image not found

Unable to compile MEX function

使用 'MinGW64 Compiler (C++)' 编译。
MEX 已成功完成。
使用 'MinGW64 Compiler (C++)' 编译。
ERROR: Unable to compile MEX function: "F:\VOT\vot-toolkit-master-8-8\vot-toolkit-master\native\trax\src\message.c:52:24: fatal error: sys/socket.h: No such file or directory
compilation terminated.
".
错误使用 initialize_native (line 87)
Unable to compile all native resources.

出错 workspace_create (line 143)
initialize_native();

Trax will have the following error. If you delete the header file prompted below, it will show undefined.

something wrong when running run_experiment.m with ncc example, using trax

code:
function ncc
% ncc VOT integration example
%
% This function is an example of tracker integration into the toolkit.
% The implemented tracker is a very simple NCC tracker that is also used as
% the baseline tracker for challenge entries.
%

% *************************************************************
% VOT: Always call exit command at the end to terminate Matlab!
% *************************************************************
cleanup = onCleanup(@() exit() );

% *************************************************************
% VOT: Set random seed to a different value every time.
% *************************************************************
RandStream.setGlobalStream(RandStream('mt19937ar', 'Seed', sum(clock)));

% **********************************
% VOT: Get initialization data
% **********************************
[handle, image, region] = vot('rectangle');

% Initialize the tracker
[state, ~] = ncc_initialize(imread(image), region);
try
disp('1');
gpuDevice(1);
catch err
disp('wrong');
warning(getReport(err));
end
disp('2');
while true

% **********************************
% VOT: Get next frame
% **********************************
[handle, image] = handle.frame(handle);

if isempty(image)
    break;
end;

% Perform a tracking step, obtain new region
[state, region] = ncc_update(state, imread(image));

% **********************************
% VOT: Report position for frame
% **********************************
handle = handle.report(handle, region);

end;

matlab log:
Error using traxclient
Did not receive response.

log:
@@Trax:hello "trax.image=path;" "trax.region=rectangle;" "trax.version=1"
@@Trax:initialize "file:///local/home/share/hezhiqun/model_zoo/vot-toolkit-fan/sequences/bag/00000001.jpg" "292.2300,128.3600,145.9600,132.4700"
@@Trax:state "292.2300,128.3600,145.9600,132.4700"
@@Trax:frame "file:///local/home/share/hezhiqun/model_zoo/vot-toolkit-fan/sequences/bag/00000002.jpg"
1

question: The program terminates in the 'gpuDevice(1)'. However, the ncc example can running successfully when setting 'tracker_trax = false'. So is there any bug when using gpuDevice in the trax?

Error reporting in mwrapper

At the moment error reporting in mwrapper is not working correctly. The error capture mechanism was temporarily disabled because of this.

Raw images in messages

The library should support raw images sent directly in the messages instead of just file paths. This could enable more flexibility, e.g. client in-memory caching of images and on-the-fly generation of artificial images.

Using Trax on Linux tutorial - problem

Hi, I am trying to do the Trax tutorial from the site, but I always get that is "Unable to start process". Below follows the full log. I really hope to use Trax on a university thing, please help as soon as possible, thanks !

Full log:
CLIENT: Creating process "ncc_tracker"
CLIENT: Starting process
CLIENT: Unable to start process
CLIENT: Cleaning up.
CLIENT: Stopping logger thread
CLIENT: Stopping watchdog thread
CLIENT: Flushing streams
CLIENT: Process should be terminated.
CLIENT: Stopping logger.
CLIENT: Tracker exited (stopped by signal 1)
Error: Unable to start the tracker process

fix DLL problem on OSX

there is a typo error in :
support/python/trax/internal.py

here is the fix :
[BEFORE]
elif sys.platform in ['darwin']:
_libraries['trax'] = ctypes.CDLL('libtrax.dynlib')

[AFTER]
elif sys.platform in ['darwin']:

_libraries['trax'] = ctypes.CDLL('libtrax.dynlib')

_libraries['trax'] = ctypes.CDLL('libtrax.dylib') # 'dynlib' -> 'dylib'

voila!

no matching function for call to ‘trax::Server::wait

I met a compile problem:
main_trax.cpp:20:44: error: no matching function for call to ‘trax::Server::wait(trax::Image&, trax::Region&, trax::Properties&)’ int tr = handle.wait(img, reg, prop);

Could you please give me some advice?

OSError: libtrax.so: cannot open shared object file: No such file or directory

I use the vot-toolkit toolkit to integrate python tracking algorithms.I would like to ask how I can solve the following problems that have been bothering me for a whole day. I really hope you can help me solve them. Thank you!

File "/home/gaoyuan/vot-toolkit/native/trax/support/python/trax/wrapper.py", line 4, in
from .internal import trax_image_release, trax_region_release, trax_cleanup, trax_properties_release
File "/home/gaoyuan/vot-toolkit/native/trax/support/python/trax/internal.py", line 61, in
_libraries['trax'] = ctypes.CDLL('libtrax.so')
File "/usr/lib/python2.7/ctypes/init.py", line 362, in init
self._handle = _dlopen(self._name, mode)
OSError: libtrax.so: cannot open shared object file: No such file or directory

Compiling error when building Client "runtime_error is not a member of std" - gcc 4.8.4

Hi,
I'm building the client on Ubuntu 14.04 to test TraX integration by doing:
cd path/to/TraX/support/client
cmake CMakeLists.txt
make

I'm using gcc 4.8.4.
When i type make i get the following errors:

/home/parallels/Downloads/trax-master/support/client/player.cpp: In function ‘trax::Image convert_image(cv::Mat&, int)’:
/home/parallels/Downloads/trax-master/support/client/player.cpp:69:15: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error("No supported image format allowed");
^
/home/parallels/Downloads/trax-master/support/client/player.cpp: In function ‘int main(int, char**)’:
/home/parallels/Downloads/trax-master/support/client/player.cpp:278:23: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error(string("Unknown switch -") + string(1, (char) optopt));
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:323:23: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error("Tracker process not alive anymore.");
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:331:23: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error("Unable to initialize tracker.");
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:357:31: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error("Unable to contact tracker.");
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:376:27: error: ‘runtime_error’ is not a member of ‘std’
throw std::runtime_error("Unable to send new frame.");
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:14: error: expected type-specifier
} catch (std::runtime_error e) {
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:33: error: expected unqualified-id before ‘e’
} catch (std::runtime_error e) {
^
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:33: error: expected ‘)’ before ‘e’
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:33: error: expected ‘{’ before ‘e’
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:33: error: ‘e’ was not declared in this scope
/home/parallels/Downloads/trax-master/support/client/player.cpp:384:34: error: expected ‘;’ before ‘)’ token
} catch (std::runtime_error e) {
^
make[2]: *** [support/client/CMakeFiles/traxplayer.dir/player.cpp.o] Error 1
make[1]: *** [support/client/CMakeFiles/traxplayer.dir/all] Error 2
make: *** [all] Error 2

I've edite the file player.cpp and added
#include <stdexcept>

Now it seems to work as expected.
Hope to have been helpful.

error with python3

@@TRAX:hello "trax.name=" "trax.family=" "trax.image=path;" "trax.region=rectangle;" "trax.description=" "trax.version=2" "trax.channels=color;" 
@@TRAX:initialize "file:///home/space/Documents/GitHub/vot-toolkit-7.0.1/VOT19/sequences/boat/color/00000001.jpg" "592.0000,468.0000,167.0000,98.0000" 
@@TRAX:state "592.0000,468.0000,167.0000,98.0000" 
@@TRAX:frame "file:///home/space/Documents/GitHub/vot-toolkit-7.0.1/VOT19/sequences/boat/color/00000002.jpg" 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/space/Documents/GitHub/pytracking/Test_VOT.py", line 58, in <module>
    handle.report(vot.Rectangle(360.9900,325.1100,25.7140,111.7600), 0.86)
  File "/home/space/Documents/GitHub/pytracking/vot.py", line 86, in report
    self._trax.status(tregion, properties)
  File "/home/space/Documents/GitHub/vot-toolkit-7.0.1/native/trax/support/python/trax/server.py", line 102, in status
    tproperties = Properties(properties)
  File "/home/space/Documents/GitHub/vot-toolkit-7.0.1/native/trax/support/python/trax/__init__.py", line 46, in __init__
    trax_properties_set(self._ref.reference(), key, str(value))
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
@@TRAX:quit 

python2 tracker dose not have this problem.

Better stderr forwarding in client

At the moment traxclient completely ignores stderr of the tracker process, it would be nice and useful to be able to redirect to output.

trax.TraxException: Unable to connect to tracker

Hello, I encountered the following error, how should I solve it:
Traceback (most recent call last):
File "/home/UserDirectory/hongshengz/anaconda3/envs/stark/lib/python3.8/site-packages/vot/tracker/trax.py", line 422, in initialize
self._connect()
File "/home/UserDirectory/hongshengz/anaconda3/envs/stark/lib/python3.8/site-packages/vot/tracker/trax.py", line 376, in _connect
self._process = TrackerProcess(self._command, self._envvars, log=log, socket=self._socket, timeout=self._timeout)
File "/home/UserDirectory/hongshengz/anaconda3/envs/stark/lib/python3.8/site-packages/vot/tracker/trax.py", line 194, in init
raise e
File "/home/UserDirectory/hongshengz/anaconda3/envs/stark/lib/python3.8/site-packages/vot/tracker/trax.py", line 188, in init
self._client = Client(
File "/home/UserDirectory/hongshengz/anaconda3/envs/stark/lib/python3.8/site-packages/trax/client.py", line 81, in init
raise TraxException("Unable to connect to tracker")
trax.TraxException: Unable to connect to tracker

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.