Visions

A video application for modifying and mixing multiple video streams. Streams can come in the form of video files or from captured sources like a webcam. Video streams can be changed using dials and sliders or by using physical devices such as touch pads. For the video editing I use two api's. For the mixing, resizing, moving of streams I am using DirectX. This offloads much of the computing onto the graphics card. For the custom manipulation of each stream I am using the Intel OpenCV libraries.


Visions Examples

Simple Example

Using Visions at a basic level. One stream coming in from a webcam, a simple Erosion effect using OpenCV.

This is the corresponding filter graph for this simple example.

More Complex Example

Here there are three video streams. One from the webcam, and 2 from avi files. The Webcam and one of the streams have preview screens and opencv transformations.
The avi with processing is drawing motion vectors, based off a Stanford tutorial on motion detection. The other processing is an intensity difference detector over a grid, which highlights any rectangle with differences. This latter is what I use for determining wing angles for my Marionette program.

The filter graph for this example