| |
|
A Simple Camshift Wrapper
|
Camshift is OpenCV's face tracking algorithm. There's currently no simple C-language
example in the OpenCV samples directory for implementing Camshift. The implementation
in the camshiftdemo program is intertwined with user-interace code that makes is
fairly difficult to adapt to other purposes unless one is already very familiar with
Camshift.
There's a C++ wrapper class in cvaux.hpp but, this also is somewhat complex, with
many interfaces. And of course, it's only available through C++.
This Simple Camshift Wrapper is provided here to make Camshift more accessible
to the casual, or beginning, user. It provides a minimal C-language interface with four main methods:
- createTracker(): pre-allocates internal data structures
- releaseTracker(): releases Camshift resources
- startTracking(): initiates tracking from an image plus a rectangular region
- track(): tracks the object in this region from frame to frame using Camshift
There are also two methods for setting the parameters smin and vmin:
The example program, Track Faces, uses the Simple Camshift Wrapper in a program
that detects a face in live video and automatically begins tracking
it.
Download Camshift Wrapper
Optional Patches.
These were kindly contributed by
Stefanie Tellex. (See the
readme for a description.)
|