OK have fixed up the variable width video slicer again (see previous post comment).
The code supports averaging of ‘passes’. Basically to use the thing you must view the movie and record values for how far the features in the scene move by clicking on their position in different frames of the movie. It is possible to do this a number of times and then average the result for each frame, which should theoretically produce a more accurate set of values. The following image used 2 passes:
Maybe it looks a little better than just 1 pass. Maybe it’s the placebo effect.
I’m thinking of giving up on this approach because there are 2 specific problems with it:
- The y movement is not accounted for, so slices often do not join up quite so well at their edges.
- The exposure between frames can change enough to show up obvious joins between slices regardless of how well matched the slices are in other respects.
I think I can code to fix the first problem, by either using the tracking info for the y values (it’s supported by the VideoTracking class already), or by processing the resultant image later on to shift the slices around until they match (I have an approach worked out for this too). But that still leaves the exposure problem.
I was quite pleased with the original single pixel image, so it may be better to just use a tripod and a slow panning rate to generate these kinds of images. I will have to shoot some more video to try that out.
May 29, 2007 at 10:47 am
Oh yeah, forgot to mention that MotionJPEG is much better quality by comparison to Sorenson 3 for this kind of stuff – far less artifacts. Full quality DV would obviously be best, but I don’t know if the JVM and/or processing will handle files of that size. I’ll look into this when I have something worth outputting with a high level of quality.
Also, the previous post’s image had the movement values recorded with a large number of frames between sample points (which means that the movement of features is averaged over those frames). The image above used frame-by-frame sampling which produces a much better result but still far from perfect.