diff --git a/examples/video_tracking_ex.cpp b/examples/video_tracking_ex.cpp index 28c885b26..464baaf91 100644 --- a/examples/video_tracking_ex.cpp +++ b/examples/video_tracking_ex.cpp @@ -1,11 +1,16 @@ // The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt /* - This is an example illustrating the use of the Bulk Synchronous Parallel (BSP) - processing tools from the dlib C++ Library. These tools allow you to easily setup a - number of processes running on different computers which cooperate to compute some - result. + This example shows how to use the correlation_tracker from the dlib C++ library. This + object lets you track the position of an object as it moves from frame to frame in a + video sequence. To use it, you give the correlation_tracker the bounding box of the + object you want to track in the current video frame. Then it will identify the + location of the object in subsequent frames. + In this particular example, we are going to run on the video sequence that comes with + dlib, which can be found in the examples/video_frames folder. This video shows a juice + box sitting on a table and someone is waving the camera around. The task is to track the + position of the juice box as the camera moves around. */ #include @@ -26,6 +31,7 @@ int main(int argc, char** argv) try return 1; } + // Get the list of video frames. std::vector files = get_files_in_directory_tree(argv[1], match_ending(".jpg")); std::sort(files.begin(), files.end()); if (files.size() == 0) @@ -34,12 +40,17 @@ int main(int argc, char** argv) try return 1; } + // Load the first frame. array2d img; load_image(img, files[0]); - + // Now create a tracker and start a track on the juice box. If you look at the first + // frame you will see that the juice box is centered at pixel point(92,110) and 38 + // pixels wide and 86 pixels tall. correlation_tracker tracker; tracker.start_track(img, centered_rect(point(93,110), 38, 86)); + // Now run the tracker. All we have to do is call tracker.update() and it will keep + // track of the juice box! image_window win; for (unsigned long i = 1; i < files.size(); ++i) {