Take a look at this video:

Rush hour intersection traffic condensed into one minute

I understand the principle behind how this video was created. A static camera was used, and thus by using temporal analysis you can get a static full-screen background. Against this background we also track and isolate all moving objects, and then finally we merge moving objects on top of the background to create a much shorter fluid shot that appears to be the intersection from hell.

I've seen similar software that can take a days worth of surveillance footage and condense it automatically, but of course now that I want to take a look at such a program I cannot find it. I understand that any such program that does it automatically will not be able to match the quality of the video linked above. Just consider the video an example of what I am looking for.

The question is, does any such software packages exists on the open market? Open source, closed source, free, non-free, doesn't really matter.

1 Answer 1


One open source solution that will require a little effort on your part would be to use OpenCV, if you don't wish to use a C++ compiler and all the fun and games that involves I suggest that you use the Python bindings.

OpenCV is:

  • Free, Gratis and Open Source
  • Cross Platform Linux, Windows, OS-X & more
  • Available pre-built for Windows
  • Provides a lot of tools for image and video processing
  • Can be used to develop tools/utilities in C++ or python.

Python is:

  • Free, Gratis and Open Source
  • Cross Platform Linux, Windows, OS-X & more
  • Available pre-built for Windows, usually already installed on the rest.
  • Quick to start learning
  • Works interactivly - no need to compile code.
  • Small

Both have a lot of online support available including StackOverflow, (at the time of writing the number of questions tagged [Python]=656,941 [OpenCV]=34,430 & [opencv][python]=5,244) so you will not be alone.

Your starter for 10

The following python code, shamelessly lifted from here, will show two video windows with the background subtracted in the second.

import numpy as np
import cv2

cap = cv2.VideoCapture('people-walking.mp4')
fgbg = cv2.createBackgroundSubtractorMOG2()

    ret, frame = cap.read()

    fgmask = fgbg.apply(frame)


    k = cv2.waitKey(30) & 0xff
    if k == 27:


enter image description here

  • I know there are good libraries, like OpenCV and Emgu CV that can be used to create such a program, but I believe I've seen existing software that does this already. Commented Nov 16, 2016 at 11:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.