http://paul.glagla.free.fr/imagegrab_en.htm
It can be run without installing and has a fairly easy interface. It allows still to be taken from any video uploaded to it. What made it even more useful is it allows you to set a time frame in which it will take successive stills, 1sec, 2 sec, etc... This can be done using the the "intravalometer" which is located along the toolbar (looks like an alarm clock). I am sure processing will do this for you but for those who don't have the time to figure that out this program worked very well, allowing me to save 132 jpegs in a few seconds.
The code used in processing to create the image above allows processing to load an image and through a line that you select (the green line in the image) will take the color of every pixel along that line and use its value to color a line which is drawn along the bottom of the image. This procedure is basically taking a section cut through the image at this defined point. Within this code is also a command called POSTERIZE which allows you to select the number of colors in which the image is made from. Note: If for example you have a color image and choose say 3 colors to create the image, the program will use three of every color meaning three blues, three reds, three yellows, etc... With my specific project I diminished the screenshots to black and white before loading them.
CODE:
PImage test; int y = 0; void setup() { size (500,600); // Size of the image *Be sure to include space // for your image and the lines to be drawn
test = loadImage("Test2.jpg"); // "Insert the name of your image" } void draw() { image(test,0,0); filter(POSTERIZE, 3); // POSTERIZE, Insert number of colors to make // image out of this example shows 3
y = constrain(mouseY,0,499);
// Sets variable y constraints of a straight line // line the width of the image *mouseY allows the //movement of the line to be dynamic according to //the mouses placement on the image in the y-direction
for (int i =0; i < style="color: rgb(192, 192, 192);">// Sets variable i used to later // to move over one pixel at a time until edge of // of the image is reached
color c = get(i,y); //get() function tells processing to "get" the // the color of each pixel using variables above
stroke(c); // Sets stroke color to the pixel recieved from above
line(i, 500,i, 600); // Tells where to draw lines using the stroke color
}
stroke(57,221,44); // Gives the stroke color of the marking line on the image // showing where the pixels are being selected in this case // a bright green
strokeWeight(2);
line(0,y,499,y);
}
Following is a screen shot with sections taken at 1, 20, 40, and 60 pixels





