Tracker 3D Demo

Description

This application illustrates the use of the Tracker3DFilter to perform multi-camera 3D tracking.  The intention with this application is to provide a straightforward example of the use of Tracker3dFilter in a Windows MFC application.  The program serves a second purpose as well in it's ability to log results from the tracker to a file for testing or debugging.  The details of configuring the Tracker3dFilter for operation are discussed further in the document describing the Filter and it's property page.  Here we will deal specifically with the demonstration application.

 The initial configuration of the application is specified via a series of command line arguments:

Tracker3dDemo.exe <-blob> <-[c|C]intrinsicsfilename>  <-s#,#> <-n#> <-m#> <-t#> <-llogfilename> graphfile.grf

-blob Operate in BlobTracker mode.  The default is to operate in CamShiftTracker mode
-c|C "c" instructs the application to calibrate with the filename intrinsictsfilename "C" instructs the program to calibrate the camera location continuously (for testing only).  Specify the camera intrinsic files in the same order that the cameras are attached to the input pins of the filter in the graph.
-s specify the dimensions of the checkerboard that will be used in calibrating the cameras, only has an effect when "c" or "C" options are specified
-n specify the number of objects to track (in BlobTracker mode only)
-m specify the minimum area of object to track in pixels (in BlobTracker mode only)
-t specify the minimum brightness of the objects to track (0-255, in BlobTracker mode only)
-l operate in debugging mode and log results to a file

When the application runs it will open one video render window for each camera attached to the Tracker3dFilter in the DirectShow graph specified on the command line.  There will also be a control panel dialog which provides access to the tracker parameters, allows calibration of the cameras and displays the tracking results.  The layout and function of this dialog is presented below.

Controls

Tracker3dDemo Application

 

Camera Calibration
    Calibrate Cameras Pressing this button will produce a dialog box with which to specify the camera intrinsics files for each of the 
    Checkerboard Width Specifies the width of the checkerboard in squares
    Checkerboard Height Specifies the height of the checkerboard in squares
Tracker Results
This is the location where the application will output the coordinates of the tracked objects (up to 3 in up to 3 rows)  These results are updated per frame as the tracker runs.
Tracker Config
    Number of Objects Specifies the number of objects the BlobTracker will track, the CamShiftTracker will track only one
    Threshold Specifies the minimum brightness of the objects the BlobTracker will track.  Range is 0-255 for black to white. Has no effect in CamShiftTracker mode.
    Min Size Specifies the minimum size of the object the BlobTracker will track in pixels.  Has no effect in CamShiftTracker mode.
Output Config
    Color classified pixels If selected the pixels in the images are colored when they area  a part of an object found by BlobTracker
    Bounding box  If selected a bounding box is drawn around each of the objects found by the BlobTracker
Exit
Exit the Application