The OpenCV "Video Surveillance" facility, also called "blob tracker" through much of the code, is a simple but practical facility intended to track moving foreground objects against a relatively static background. Conceptually it consists of a three-stage video processing pipeline: 1. A foreground/background discriminator which labels each pixel as either foreground or background. 2. A blob detector which groups adjacent "foreground" pixels into blobs, flood-fill style. 3. A blob tracker which assigns ID numbers to blobs and tracks their motion frame-to-frame.