Images are recorded on a point-and-shoot sony digital camera, which produces MPEG movies at 640x480 and 30fps.  This method, however, is applicable to a variety of movie formats.
 
Movies are first read into matlab using the mmread add-on.  This add-on has been modified to carry out an analysis on each frame of the movie as it is read in, to save on system memory.  A typical 1-3 hour movie has hundreds of thousands of frames, so memory management is crucial.
 
Images from these movies are backlit in a dark room, so that the ball bearings show up as dark circles and the background is light.  The first step is to convert the RGB image into a binary image.  The image is then processed to remove background objects and invert the pixels.  Next, a euclidian distance map is applied to identify large objects (ie the ball bearings).  This result is put through a threshold to remove small imperfections and bubbles (noise).  Finally, the result is convolved with a gaussian to smooth and locate peaks at the centers of the beads.  These peaks are the locations of the tracked particles.
 
This results in a final set of positions that can then be plotted over the original image to verify their accuracy.