1. A method for extracting a foreground object from a background, comprising: (a) when a value component of a pixel in a non-static frame exceeds a mean value of the value component for the pixel across multiple frames by a first value, classifying the pixel as foreground; (b) when the pixel is in shadow, classifying the pixel as background; (c) when the pixel is under different illumination and each usable component of the pixel exceeds a mean value of that component by a second value, classifying the pixel as background; and (d) when the pixel is not classified by acts (a), (b), or (c), classifying the pixel as foreground.