ExtPixMapWrapper.py
ImageMac.py
Hello these are the classes to deal with Images and NumPy arrays I told
you about. I left everything unchanged, it is the same copy I use with 
comments added. However I think that in ImageMac the only part worth including
in MacPython (if you think it is worth), is the first half, until GimmeImage.
After that it is almost rubbish I used in my CV experiments.

MovieUtils.py
This is another class I use. IT contais a lot of my experiments (unuseful), but
the first function GetFrames(). it is almost the translation of a QT sample.
GetMovieFromOpenFile() it is the usual shortcut to get a movie. (no error tracking
done).
The class ExtMovie requires a movie in the constructor and then
provides a method to take every single frame and convert it to an
Image or a NUmPy array.
If you think that it can be included in the qt examples I'll write comments and
polish it a bit. (exceptions handling)

		Riccardo Trocca

P.S. Everything works with 2.0b1
