CppMT is a method for visual object tracking. It is the C++ implementation of CMT that was originally developed in Python by myself. Details can be found on the project page. The implementation in this repository is platform-independent and runs on Linux, Windows and OS X.
#License CppMT is freely available under the Simplified BSD license, meaning that you can basically do with the code whatever you want. If you use our algorithm in scientific work, please cite our publication
@inproceedings{Nebehay2015CVPR,
author = {Nebehay, Georg and Pflugfelder, Roman},
booktitle = {Computer Vision and Pattern Recognition},
month = jun,
publisher = {IEEE},
title = {Clustering of {Static-Adaptive} Correspondences for Deformable Object Tracking},
year = {2015}
}
- OpenCV (>= 2.4.8, < 3)
CppMT uses cmake for building. In its most simple form, calling
cmake .
from the source directory should setup everything that is necessary. On Linux, you will probably call
make
afterwards, while on Windows you will open the project file in Visual Studio and start the build there.
These steps are necessary to get CppMT running on Windows:
- Download this repository.
- Download and install Visual Studio.
- Download and install the latest OpenCV 2.4.x release.
- Download and install the latest CMake release.
- Run CMake and configure the project like so. The only thing you actually have to specify yourself is the location of your OpenCV installation.
- Add the OpenCV DLLs to the PATH environment variable like so. The vcXX part depends on the edition of visual studio that you are using. For example, vc12 is to be used for Visual Studio 2013.
- Open the Visual Studio solution file (CMT.sln), hit F7 to build and F5 to Run/Debug.
usage: ./cmt [--challenge] [--no-scale] [--with-rotation] [--bbox BBOX] [inputpath]
inputpath
The input path.--challenge
Enter challenge mode.--no-scale
Disable scale estimation--with-rotation
Enable rotation estimation--bbox BBOX
Specify initial bounding box. Format: x,y,w,h
Press any key to stop the preview stream. Left click to select the top left bounding box corner and left click again to select the bottom right corner.
When using a webcam, no arguments are necessary:
cmt
When using a video, the path to the file has to be given as an input parameter:
cmt /home/cmt/test.avi
It is also possible to specify the initial bounding box on the command line.
cmt --bbox=123,85,60,140 /home/cmt/test.avi