This is a simple motion detection algorithm using frame difference method. This example assumes that the video frames are stored in your system in a particular directory.
#include <iostream>
#include <sstream>
#include "cv.h"
#include "highgui.h"
using namespace std;
int main()
{
    IplImage* frame_prev = cvLoadImage( "dir_name/frame0.jpg", CV_LOAD_IMAGE_GRAYSCALE );
    int M = frame_prev->width;
    int N = frame_prev->height;
    IplImage* frame_curr;
    IplImage* frame_diff = cvCreateImage( cvGetSize(frame_prev), 8, 1 );
    for( int i=1; i<=500; ++i )
    {
        ostringstream oss;
        oss << "dir_name/frame";
        oss << i;
        oss << ".jpg";
        // motion detection - simple frame difference algorithm
        frame_curr = cvLoadImage( oss.str().c_str(), CV_LOAD_IMAGE_GRAYSCALE );
        cvAbsDiff( frame_curr, frame_prev, frame_diff );
        cvThreshold( frame_diff, frame_diff, 30, 255, CV_THRESH_BINARY );
        cvCopy( frame_curr, frame_prev );
        cvNamedWindow( "Motion Detection", CV_WINDOW_AUTOSIZE );
        cvShowImage( "Motion Detection", frame_diff );
        if( (cvWaitKey(25) & 255) == 27 ) break;    // wait for some time or 'ESC' key press    
    }
    cvReleaseImage( &frame_prev );
    cvDestroyWindow( "Motion Detection" );
    return 0;
}