Video Processing

These images are from the output of a few different video processing programs I wrote in my spare time. I think I was originally inspired by the animation in the movie Waking Life, but I figured it could be automated. All of these effects begin with posterizing the input to reduce the number of colors. Contiguous areas of the same color are then extracted.  After that the filters differ.

The image above was created by computing the centroid, major and minor axes, and area of each connected color region. In the output each region was represented by a rectangle of the appropriate area, aspect ratio, angle, and of course color as the original.

In live video, the rectangles constantly bounce and jitter all over because of subtle noise and motion in the input, leading me to name this program the "confetti filter".

The right image shows the next technique, that of tracing the perimeter of each color region and re-rendering each as a polygon. The black regions between them are mostly due to the rejection of the smallest color areas. I took my shirt off because I find the visual effect more striking with large areas of skin tone.
The left image here uses the same technique as the previous, but adds a subsampling step. Before the polygons are rendered their vertex list is subsampled by a large factor, thus losing most of the detail. I love this mode, because there are situations where a still image would be totally unreconizable, but in video the body motions show through perfectly.

The last technique uses polygon vertex subsampling and then fits spline curves to the resulting point sets, resulting in nice smooth curves in the right image.
Return to David Hershberger's projects.